windows-phone-7 – 使用MediaStreamSource的WP7 Shoutcast
发布时间:2020-12-14 02:21:53 所属栏目:Windows 来源:网络整理
导读:我正在尝试通过MediaStreamSource将Shoutcast流式传输到我的MediaElement.这是一些基础知识的代码.使用ReadData方法,我可以下载原始音频数据(MP3样本),我的问题是如何将流设置为MediaStreamSource.这样它就不起作用(它编译并且MediaFailed事件没有错误,但我
我正在尝试通过MediaStreamSource将Shoutcast流式传输到我的MediaElement.这是一些基础知识的代码.使用ReadData方法,我可以下载原始音频数据(MP3样本),我的问题是如何将流设置为MediaStreamSource.这样它就不起作用(它编译并且MediaFailed事件没有错误,但我听不到任何声音).也许我应该在我的自定义ShoutcastMediaStreamSource中实现所有这些?固定流没有问题,只是非固定.有人可以给我一些建议吗?
在WP7上,没有可能设置“useUnsafeHeaderParsing”,因此我无法使用shoutcast元数据获取http标头 – 仅使用原始数据. 谢谢 private void PhoneApplicationPage_Loaded(object sender,RoutedEventArgs e) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://radiozetmp3-02.eurozet.pl:8400/;"); request.Method = "GET"; request.Headers["Icy-MetaData"] = "1"; request.UserAgent = "WinampMPEG/5.09"; request.AllowReadStreamBuffering = false; request.BeginGetResponse(new AsyncCallback(RequestComplete),request); allDone.WaitOne(); ShoutcastMediaStreamSource smss = new ShoutcastMediaStreamSource(stream); player.SetSource(smss); // MediaElement player.Play(); } public void RequestComplete(IAsyncResult r) { HttpWebRequest request = (HttpWebRequest)r.AsyncState; HttpWebResponse response = request.EndGetResponse(r) as HttpWebResponse; stream = response.GetResponseStream(); IAsyncResult res = stream.BeginRead(buffer,buffer.Length,callback,null); allDone.Set(); } public void ReadData(IAsyncResult r) { int bytes = stream.EndRead(r); if (bytes == 0) { Debug.WriteLine("No bytes readed"); } else { Debug.WriteLine("readed: " + buffer.Length.ToString()); stream.BeginRead(buffer,buffer); } } 解决方法
您需要开发自定义MediaStreamSource.
你可以在这里找到我为我的一个项目开发的原型:https://skydrive.live.com/redir.aspx?cid=eb0868f2135b874c&resid=EB0868F2135B874C!1037&parid=EB0868F2135B874C!169&authkey=!AGSYfCVvCasGArI (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 软件版本控制:Windows Installer和.Net版本的差异
- Windows计算机从标记VLAN获取SLAAC IPv6
- windows – node.js和命令行(cmd.exe)
- iis-7 – ISAPI .dll作为静态内容提供
- Haskell removeDirectoryRecursive:Windows上的权限被拒绝
- 在Windows 10上安装PHP7和Apache2.4 – php7apache2_4.dll错
- 在WIN32中的“BUTTON”类窗口上显示位图
- windows-server-2012 – 如何在Windows Server 2012中为IIS
- xaml – 未检测到已安装的组件.无法解析TargetName HighCon
- windows-server-2008-r2 – DHCP服务器只记住一个租约
推荐文章
站长推荐
热点阅读