使用Silverlight 5后,代码中没有流畅的视频流视频

时间:2016-04-21 10:50:29

标签: c# silverlight

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展示视频和音频流畅的片段..

获取http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/QualityLevels(688000)/Fragments(video=60050000) HTTP / 1.1

获取http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/QualityLevels(128000)/Fragments(audio=61765079) HTTP / 1.1

从上面的StackOverlow链接中,我离开的地方是:

为什么我无法在Silverlight 5中看到来自多个平滑流媒体源的视频,也无法播放播放器控件,但听到音频并看到Fiddler中的视频和音频数据包令人困惑。

感谢任何想法来解决这个问题。

0 个答案:

没有答案