gpt4 book ai didi

windows-phone-7 - WP7 Shoutcast 与 MediaStreamSource

转载 作者:行者123 更新时间:2023-12-04 15:48:28 25 4
gpt4 key购买 nike

我正在尝试通过 MediaStreamSource 将 Shoutcast 流式传输到我的 MediaElement。这是一个包含一些基础知识的代码。使用 ReadData 方法我可以下载原始音频数据(MP3 样本),我的问题是如何将流设置为 MediaStreamSource。这样它就不起作用(它编译并且MediaFailed事件没有错误,但我听不到任何声音)。也许我应该在我的自定义 ShoutcastMediaStreamSource 中实现所有这些?固定流没有问题,只有非固定。有人可以给我一些建议吗?

在 WP7 上,无法设置“useUnsafeHeaderParsing”,因此我无法获取带有shoutcast 元数据的http header ——只有原始数据。
在 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, 0, 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, 0, buffer.Length, callback, buffer);
}
}

最佳答案

您需要开发自定义 MediaStreamSource。

你可以在这里找到我为我的一个项目开发的原型(prototype):https://skydrive.live.com/redir.aspx?cid=eb0868f2135b874c&resid=EB0868F2135B874C!1037&parid=EB0868F2135B874C!169&authkey=!AGSYfCVvCasGArI

关于windows-phone-7 - WP7 Shoutcast 与 MediaStreamSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4319882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com