Windows Phone 实用开发技巧(21):自动循环播放视频

In Windows Phone Mango update, we can use VideoBrush since we could not do that in windows phone 7 . So there is something interesting to do. We can develop more fantasitic apps.  For example, we can play a video as background in our application. We want to play video in a loop also. But here comes the problem. Since there is no MediaTimeline in Silverlight for Windows Phone API. How can we repeat media playback ?

In WPF or Silverlight, we can use following code to repeat media playback.

< Page  xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"   >
  
< StackPanel >

    
<!--  The MediaElement control plays the sound.  -->
    
< MediaElement  Name ="myMediaElement"   >
      
< MediaElement.Triggers >
        
< EventTrigger  RoutedEvent ="MediaElement.Loaded" >
          
< EventTrigger.Actions >
            
< BeginStoryboard >
              
< Storyboard >

                
<!--  The MediaTimeline has a RepeatBehavior="Forever" which makes the media play
                     over and over indefinitely.
-->
                
< MediaTimeline  Source ="media\tada.wav"  Storyboard.TargetName ="myMediaElement"   
                 RepeatBehavior
="Forever"   />

              
</ Storyboard >
            
</ BeginStoryboard >
          
</ EventTrigger.Actions >
        
</ EventTrigger >
      
</ MediaElement.Triggers >
    
</ MediaElement >

  
</ StackPanel > </ Page >

 

 In windows phone , I find simple solution to play video in a loop. Since we can catch Media_End event, we can play again in ended event.

 

Another suggestion : do not play large video in your windows phone app since it will cause a little bit performance damage.

Source code can be found here :  

 

 PS:第一次用英文写技术博客,真D疼,奈何为了学好E文,只好疼下去了,因为我坚信:疼着疼着就不疼了! 

你可能感兴趣的:(windows phone)