2011-09-02 18 views
7

Estoy tratando de transmitir radio en una aplicación de Windows Phone 7 y para esto estoy usando ManagedMediaHelpers. El HttpWebRequest para obtener la transmisión continua funciona pero no llama a la URL de devolución de llamada debido a la transmisión continua.Access Stream Buffer HttpWebRequest

¿Cómo accedo a la transmisión sin la ayuda de la URL de devolución de llamada? En otros mensajes, algunos dijeron: "Necesito usar el reflejo", pero ¿alguien sabe qué hacer para implementarlo? Aquí está mi código:

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

¿Cuál es el contenidoLongitud de una transmisión de radio en vivo? – AnthonyWJones

+0

de acuerdo! De depuración vi que el valor era -1 ... ¿Alguna idea o sugerencia? ¡Gracias por la respuesta! –

Respuesta

1

tenían el mismo problema, por lo que aquí es cómo lo resolví:

Getting bytes from continuous streams on Windows Phone 7

También podría haber un problema con su URL - asegurarse de que si se ejecuta la solicitud fuera de la aplicación, está obteniendo la cantidad de datos necesaria.

+0

Estoy haciendo prácticamente lo mismo en el agente AudioStreamer y después de un tiempo de transmisión. La lectura se congela para siempre. ¿Te enfrentaste a este tipo de problemas? –

+0

No tengo. Siéntase libre de abrir otras preguntas que cubran el problema. –

+0

Lo haré, pero por ahora no estoy seguro de por qué no está funcionando: ¿se trata de un problema de mem (no es), GC (no lo es) o HttpWebRequest (no). Gracias por responder, Den –