如何在 Windows phone silverlight 应用程序上从 C# 填充视频
Posted
技术标签:
【中文标题】如何在 Windows phone silverlight 应用程序上从 C# 填充视频【英文标题】:How to populate videos from C# on windows phone silverlight app 【发布时间】:2013-12-21 22:11:52 【问题描述】:我正在创建一个 Windows Phone 测验应用程序。它还将短视频显示为用户回答的问题。我已经能够使用此代码显示本地目录中的视频。但是如果我必须在本地包含太多视频,我的应用程序包文件会变得如此之大。所以我决定在用户需要时尝试从互联网加载。 这是我的 XAML 代码:
<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
【问题讨论】:
我以前从未使用过 SMFPlayer,但看到它的在线文档 AdaptiveStreaming 仅用于流畅的流式传输。对于常见的视频流,您不必从 ProgressiveDownload 更改它。 而且“http://....”是一个绝对的 uri 而不是相对的。 【参考方案1】:由于其限制,您不能只在 MMPPF 中使用任何类型的链接。您需要拥有视频的确切 URL。
Youtube 视频的 URL(确切的)通常太大。如果您真的想在 MMPPF 中加载 youtube 视频(尽管我认为在您自己的媒体播放器中使用 Youtube 视频是不合法的),请使用 this,它可以通过 NuGet 获得。
您可以使用此工具包获取确切的 youtube 视频 URL 并在您自己的播放器中使用它。
【讨论】:
以上是关于如何在 Windows phone silverlight 应用程序上从 C# 填充视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows Phone 8.1 / Windows 10 上创建自定义 VirtualizingPanel?
如何发送推送通知 windows phone 8 应用程序?