2013-12-21 66 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視頻網址並將其用於您自己的播放器中。

相關問題