Буфер потока доступа HttpWebRequest - PullRequest
7 голосов
/ 02 сентября 2011

Я пытаюсь транслировать радио в приложении Windows Phone 7 и для этого использую ManagedMediaHelpers.HttpWebRequest для получения непрерывного потока работает, но не вызывает URL обратного вызова из-за непрерывного потока.

Как получить доступ к потоку без помощи URL обратного вызова?На других постах некоторые говорили, что O нужно использовать рефлексию, но знает ли кто-нибудь, что нужно для ее реализации?Вот мой код:

req = (HttpWebRequest) WebRequest.Create(
    "http://streamer-dtc-aa01.somafm.com:80/stream/1018");

// if this is false it will fire up the callback Url 
// but the mediastreamsource will throw an exception 
// saying the it needs to be true
req.AllowReadStreamBuffering = true; 

IAsyncResult result = req.BeginGetResponse(RequestComplete,null);

private void RequestComplete(IAsyncResult r)
{
    HttpWebResponse resp = req.EndGetResponse(r) as HttpWebResponse;
    Stream str = resp.GetResponseStream();

    mss = new Mp3MediaStreamSource(str, resp.ContentLength);
    Deployment.Current.Dispatcher.BeginInvoke(() => {
        this.me.Volume = 100;
        this.me.SetSource(mss);
    });
}

1 Ответ

1 голос
/ 04 сентября 2011

У меня была такая же проблема, вот как я ее решил:

Получение байтов из непрерывных потоков в Windows Phone 7

Это также может быть проблемой сВаш URL - убедитесь, что если вы запустите запрос вне приложения, вы получите необходимый объем данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...