2013-12-21 63 views
0

我正在创建一个Windows手机测验应用程序。它还将短视频显示为用户回答的问题。我已经能够使用此代码来显示本地目录中的视频。但是如果我必须在本地包含太多视频,我的应用程序包文件会变得非常大。所以我决定尝试一旦用户需要从互联网加载。 这是我的XAML代码:如何在Windows Phone Silverlight应用程序中填充C#视频

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
     <Grid HorizontalAlignment="Left" Height="186" Margin="10,132,0,0" VerticalAlignment="Top" Width="436"> 
      <Core:SMFPlayer PositionLiveBuffer="0:0:9" EstimatedLiveDuration="0:0:30" VolumeLevel="0.9"> 
       <Core:SMFPlayer.SelectedAudioStream> 
        <Media:StreamMetadata/> 
       </Core:SMFPlayer.SelectedAudioStream> 
       <Core:SMFPlayer.Playlist> 
        <Media:PlaylistItem x:Name="media" DeliveryMethod="ProgressiveDownload" MediaSource="Assets/Kedike.wmv" MediaType="Entertainment" Title="song" FileSize="2413589" FrameRate="1045" VideoHeight="268" VideoWidth="512" Description=" vodeo" JumpToLive="True"/> 
       </Core:SMFPlayer.Playlist> 
      </Core:SMFPlayer> 
     </Grid> 
    </Grid> 

当影片从本地源即/videos/kedike.wmv加载此代码的工作。我看到这个代码在网上,它实际上能得到这个视频:

mediasource = "http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/bbbwp7/big buck bunny.ism/manifest" 

但是从净为此,DeliveryMehod属性设置为=“AdaptiveStreaming” 我不知道是什么类型的文件,我试着用YouTube视频链接和Facebook视频链接替换源代码。这些都不起作用。 我需要帮助。 然后,我想以编程方式更改媒体源。即通过xaml.cs文件。我认为宣布

media.MediaSource = new Uri("http://....", UriKind=Relative); 

不知道这是否会工作。 我试过这样做,因为我已经能够在本地加载视频,但我得到错误,我还没有初始化或创建媒体元素的新实例(不是Windows Phone xna媒体) 我试图改变时遇到了一些其他错误一些其他的东西。 我的C#代码是:

private void secondvideo() 
    { 

     media.MediaSource = new Uri("Videos/kedike2.wmv", UriKind.Relative); 
    } 

我想打第二视频与此代码和我得到的错误。这是我得到代码的链接。 code link

+0

我从来没有使用SMFPlayer,但看到它是联机文档AdaptiveStreaming仅用于流畅播放。对于常见的视频流,您不必从ProgressiveDownload中更改它。 – har07

+0

而且“http:// ....”是绝对的uri而不是相对的。 – har07

回答

0

由于其限制,您不能仅仅在MMPPF中使用任何类型的链接。您需要拥有视频的确切网址。

Youtube视频的URL(确切的)通常太大。如果你真的想在MMPPF中加载YouTube视频(尽管我认为在你自己的媒体播放器中使用Youtube视频是不合法的),请使用通过NuGet提供的this

您可以使用此工具包获取确切的YouTube视频网址并将其用于您自己的播放器中。

相关问题