[Windows Phone] Windows Phone 7 播放远程流媒体的代码实现方法

最近打算做一些视频音频方面的应用,但是Windows Phone 7对可播放的媒体格式有太多限制,研究了一下最终还是放弃了,因为要播放的媒体格式是不确定的,没办法简单实现,但在此过程中了解了播放流媒体的几种方法,下面分别给大家介绍。

对于本地媒体文件的播放我就不多说了,只要将媒体文件加入项目写正确路径即可播放,我们下面介绍几种远程流媒体的播放方法。

1. MediaElement

首先要说的就是WP7开发SDK中自带的MediaElement,经过我的测试该控件在播放支持格式的音频基本没问题,但是播放视频会有问题,也可能是我的视频源有问题,使用非常简单,在界面XAML中加入如下代码:

 

<MediaElement x:Name="meMain" MediaFailed="meMain_MediaFailed"></MediaElement> 
<Button x:Name="btnPlay1" Content="Play in MediaElement" Click="btnPlay1_Click"></Button>

 

其中MediaElement就是播放媒体的主体,大家可以设置其他属性来设置外观,下面的按钮用来播放,按钮点击代码如下:

 

meMain.Source = new Uri("http://www.robtowns.com/music/blind_willie.mp3", UriKind.Absolute); 
meMain.Play();

 

这样既可以完成最简单的播放功能:

2. MediaPlayerLauncher

第二种也是SDK自带的,名为MediaPlayerLauncher,改类没有可视化内容,调用之后会显示一个新界面,在界面中有全部的媒体播放控制功能,我们使用下面代码实现该功能:

 

MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher(); 
mediaPlayerLauncher.Media = new Uri("http://www.robtowns.com/music/blind_willie.mp3", UriKind.Absolute); 
mediaPlayerLauncher.Location = MediaLocationType.Data; 
mediaPlayerLauncher.Controls = MediaPlaybackControls.Pause | MediaPlaybackControls.Stop; 
mediaPlayerLauncher.Show();

 

实现效果如下:

3. Silverlight Media Framework

这是一套开源的媒体播放框架,大家可以通过下面地址下载:

http://smf.codeplex.com/releases/view/63434

(只要下载microsoft-smf-binwp7-2.2011.0410.1.zip即可)

下载完成后如下:

接着下载另一个必要组件:

Download Smooth Streaming Player Development Kit

下载并安装后我们可以在对应安装目录中找到要用的DLL文件(C:\Program Files (x86)\Microsoft SDKs\IIS Smooth Streaming Client):

接着就是用他们,将所有DLL文件加入到项目引用中::

完成之后即可加入如下代码实现功能,首先加入命名空间:

 

xmlns:Core="clr-namespace:Microsoft.SilverlightMediaFramework.Core;assembly=Microsoft.SilverlightMediaFramework.Core.Phone" 
xmlns:Media="clr-namespace:Microsoft.SilverlightMediaFramework.Core.Media;assembly=Microsoft.SilverlightMediaFramework.Core.Phone" 

 

然后加入播放器代码:

 

<Core:SMFPlayer> 
    <Core:SMFPlayer.Playlist> 
        <Media:PlaylistItem DeliveryMethod="AdaptiveStreaming" MediaSource="http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/bbbwp7/big buck bunny.ism/manifest"/> 
    </Core:SMFPlayer.Playlist> 
</Core:SMFPlayer>

 

实现效果如下:

希望这些能弄对大家有帮助!感谢!

时间: 2024-09-27 13:06:45

[Windows Phone] Windows Phone 7 播放远程流媒体的代码实现方法的相关文章

玩转Windows 7远程流媒体功能

微软已经发布Windows 7 RC版,因此Windows 7的功能不会再有变动,Windows 7 RTM版也箭在弦上. Windows 7 RC版中有一个比较引人注目的功能,它允许用户按Slingbox机顶盒方式在不同PC间传输流媒体 , Slingbox是一个连接电视机(或任何其他视频输出设备)的机顶盒,无需进行录制就可以将信号实时 传输到另一台机器中. 在观看一些未受保护的视频和音乐文件时,用户经常会受到一些限制.Windows 7的这种远程流媒体功 能需要两台运行Windows 7系统

Windows Server中的 WINS 服务器远程内存损坏漏洞分析

本文讲的是Windows Server中的 WINS 服务器远程内存损坏漏洞分析, 漏洞概要 在2016年12月,FortiGuard Labs发现并报告了Microsoft Windows Server中的WINS Server远程内存损坏漏洞.在2017年6月,微软向FortiGuard实验室答复说:"要修复程序漏洞需要对代码进行全面彻底的检查,WINS所提供的功能会被DNS所取代,微软已经建议客户将其迁移出去.也就是说,由于修复漏洞所需要的工作量,Microsoft不会修补此漏洞.相反,M

Windows server 2008 R2实现多用户远程连接

原文 Windows server 2008 R2实现多用户远程连接   经常使用远程桌面的朋友可能会注意到,Windows server 2008 R2中,远程桌面最多只允许两个人远程连接,第三个人就无法连接过去,但是生产环境中有一些服务器可能有许多人需要连接上去,而微软的设置确实让人比较无 奈,所以呢,今天就简单介绍一下在Windows Server 2008 R2上如何实现多用户远程连接同一台服务器. 前提 1. 确认自己的计算机开启了远程连接 2. 在远程桌面会话主机配置中将"限制每个用

Windows Server 2008服务器系统的远程桌面连接数量

Windows Server 2008服务器系统的远程桌面连接数量; 我们可以打开对应系统的"开始"菜单,从中点选"运行"命令,在弹出的系统运行对话框中输入字符串命令 "regedit",单击回车键后,进入系统注册表控制台窗口;展开该控制台窗口中的"HKEY_LOCAL_MACHINE\SOFTWARE \Policies\Microsoft\Windows NT\Terminal Services"注册表子项(如图2所示),

vc++-mfc中用Windows Media Player做音乐播放器,出现错误

问题描述 mfc中用Windows Media Player做音乐播放器,出现错误 error C2039: 'GetCurSel' : is not a member of 'CString' see declaration of 'CString' error C2039: 'GetCount' : is not a member of 'CString' see declaration of 'CString' 解决方案 参考:http://www.cnblogs.com/caidaxia

如何在Windows Server 2008 R2上部署远程桌面网关

本文介绍如何在http://www.aliyun.com/zixun/aggregation/13975.html">Windows Server 2008 R2上部署远程桌面网关,需要注意的是,在安装该角色之前,如同其他众多需要AD环境的角色一样,我们需要准备相应的软件环境方可.这包括:远程桌面连接客户端计算机.Active Directory 域服务域控制器以及RD 会话主机服务器等.鉴于篇幅,该项具体步骤略过,我们直接进入正题. 本文中描述的测试环境包括四台连接到专用网络且使用以下操

常用windows下远程管理Linux服务器的方法

随着互联网的 高速发展以及Linuxhttp://www.aliyun.com/zixun/aggregation/13760.html">企业应用的成熟,Linux被广泛应用于服务器领域,如何实现Linux的远程管理成为 网络管理员的首要任务.我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,F-Secure SSH 抑或是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具几乎不需要

C#播放流媒体的几种方法

原文:[转载]C#播放流媒体的几种方法 做视频开发要学的东西真多,不知道如何入门,乱打乱撞,慢慢摸索吧! 首先搭建Windows Meida Server ,方法很简单,试试就会.在这里需要声明的是,这几种方法 都可以播放 本地视频.并且基于 2中的方法一方法二还可以直接播放 电视卡.摄像头 视频.或者用方法二可以捕捉 电视卡.摄像头.桌面等信息到新的文件.网络等-- 接着使用下面的几种 方法供使用   1.直接使用WMP(Windows Media Player)      WMP是什么东西,

win2003自动启动-Windows 2003 SP1报错,提示:原因代码: 0x8000005 ~求助

问题描述 Windows 2003 SP1报错,提示:原因代码: 0x8000005 ~求助 Windows 2003 SP1报错,提示:原因代码: 0x8000005 ~求助 系统会经常自动重新启动!请高手解决 急求助! 解决方案 查看系统日志,分析具体错误的模块,错误信息