Silverlight 5 dynamic stream URI setting中的背景故事。
我的目标(作为链接中的工件)是为了解决为什么我在动态渲染(InitParam)平滑URI中为流畅的流文件渲染音频而不是视频。
基本上,我需要将动态生成的平滑流URI传递给播放器并正确设置“媒体源”。我相信我已经完成了。
测试静态链接的MediaSource =“http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest”/适用于视频和音频。 但是,动态生成PlayListItem不会。
代码..
MainPage.xaml中
<UserControl x:Class="SilverlightApplicationDPCS.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Core="clr-namespace:Microsoft.SilverlightMediaFramework.Core;assembly=Microsoft.SilverlightMediaFramework.Core"
xmlns:Media="clr-namespace:Microsoft.SilverlightMediaFramework.Core.Media;assembly=Microsoft.SilverlightMediaFramework.Core"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White" xmlns:smf="http://schemas.microsoft.com/smf/2010/xaml/player">
<smf:SMFPlayer HorizontalAlignment="Stretch" Margin="0"
x:Name="sMFPlayer" VerticalAlignment="Stretch" />
<Core:SMFPlayer AutoPlay="True" AutoLoad="True">
<Core:SMFPlayer.Playlist>
</Core:SMFPlayer.Playlist>
</Core:SMFPlayer>
</Grid>
MainPage.xaml.cs(为了调试目的而重写InitParam参数的使用,静态设置uriString)
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
App currentApp = (App)Application.Current;
string uriString = "http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest";
if (sMFPlayer.Playlist.Count > 0)
sMFPlayer.Playlist.Clear();
sMFPlayer.Playlist.Add(new PlaylistItem
{
MediaSource = new Uri(uriString, UriKind.Absolute),
DeliveryMethod = DeliveryMethods.AdaptiveStreaming
});
sMFPlayer.Play();
下面的所有引用都是版本2.012.0605.0,而不是Microsoft.Web.Media.SmoothStreaming.dll版本2.0.157.18
项目参考:
Microsoft.SilverlightMediaFramework.Core.dll
Microsoft.SilverlightMediaFramework.Plugins.dll
Microsoft.SilverlightMediaFramework.Plugins.SmoothStreaming.dll
Microsoft.SilverlightMediaFramework.Utilities.dll
Microsoft.Web.Media.SmoothStreaming.dll
编译环境:
Microsoft媒体平台:播放器框架
Silverlight 5
Windows 7
Visual Studio 2015
浏览器:运行时Internet Explorer 11。
Fiddler展示视频和音频流畅的片段..
从上面的StackOverlow链接中,我离开的地方是:
为什么我无法在Silverlight 5中看到来自多个平滑流媒体源的视频,也无法播放播放器控件,但听到音频并看到Fiddler中的视频和音频数据包令人困惑。
感谢任何想法来解决这个问题。