Windows   发布时间:2022-05-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows-phone-7 – 使用MediaStreamSource的WP7 Shoutcast大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过MediaStreamSource将Shoutcast流式传输到我的MediaElement.这是一些基础知识的代码.使用ReadData方法,我可以下载原始音频数据(MP3样本),我的问题是如何将流设置为MediaStreamSource.这样它就不起作用(它编译并且MediaFailed事件没有错误,但我听不到任何声音).也许我应该在我的自定义ShoutcastMediaStreamSource中实现所有这些?固定流没有问题,只是非固定.有人可以给我一些建议吗?

在WP7上,没有可能设置“useUnsafeHeaderParsing”,因此我无法使用shoutcast元数据获取http标头 – 仅使用原始数据.
在ShoutcastMediaStreamSource中,我实现了一些ManagedMediaHelpers的代码.

谢谢

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-phone-7 – 使用MediaStreamSource的WP7 Shoutcast全部内容,希望文章能够帮你解决windows-phone-7 – 使用MediaStreamSource的WP7 Shoutcast所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: