我不熟悉Silverlight(5),但認爲我已經接近了我想要做的工作。感謝任何幫助。Silverlight 5動態流URI設置
基本上,我需要將動態生成的平滑流URI傳遞給播放器,並正確設置「媒體源」。
步驟我走..
客戶端調用,一個鍵 - 值對..
<param name="InitParams" value="mediaurl=http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest" />
MainPage.xaml中..
<!--Media:PlaylistItem DeliveryMethod="AdaptiveStreaming" MediaSource="mPlayer" /-->
App.xaml.cs
public Dictionary<string, string> PageData = new Dictionary<string, string>();
private void Application_Startup(object sender, StartupEventArgs e)
{
var paramValues = e.InitParams;
foreach (var param in paramValues)
{
this.PageData.Add(param.Key, param.Value);
}
this.RootVisual = new MainPage();
}
MainPage.xaml.cs ..
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
App currentApp = (App)Application.Current;
string uriString = currentApp.PageData["mediaurl"];
MessageBox.Show(uriString);
Microsoft.SilverlightMediaFramework.Core.Media.PlaylistItem item = new Microsoft.SilverlightMediaFramework.Core.Media.PlaylistItem();
item.MediaSource = new Uri(uriString, UriKind.Absolute);
item.DeliveryMethod =
Microsoft.SilverlightMediaFramework.Plugins.Primitives.DeliveryMethods.AdaptiveStreaming;
//Add PlaylistItem to the Media playlist
Microsoft.SilverlightMediaFramework.Core.SMFPlayer SMFPlayer = new Microsoft.SilverlightMediaFramework.Core.SMFPlayer();
SMFPlayer.Playlist.Add(item);
SMFPlayer.Play();
}
}
Visual Studio 2015編譯器不會與MainPage.xaml.cs
抱怨,但它不起作用。 Silverlight播放器播放的靜態URI很好,但不包含在InitParam
中傳遞的URI。
希望這不是一個愚蠢的問題。你測試的靜態和傳入的initparam值是一樣的嗎? – Nkosi
與靜態和在initparam傳遞相同的URI。由於某些原因,我的代碼在MainPage.xaml.cs中斷,因爲uriString被設置爲OK。只需將MediaSource MainPage.xaml綁定到uriString即可。 – Bondi
它會給出錯誤信息嗎? – Nkosi