2011-09-02 30 views
7

Bir Windows Phone 7 uygulamasında radyo yayını yapmaya çalışıyorum ve bunun için ManagedMediaHelpers kullanıyorum. Sürekli akışı elde etmek için HttpWebRequest, ancak sürekli akış nedeniyle geri arama URL'sini çağırmaz.Erişim Akışı Tampon HttpWebRequest

Geri arama Url'sinin yardımı olmadan akışa nasıl erişirim? Diğer yayınlarda bazılarının O'nun yansımayı kullanması gerektiğini, ancak birinin bunu uygulamak için sıcak bir şey yaptığını söyledi mi? İşte benim kodudur: - koşarsan emin olun Aynı zamanda URL ile bir sorun olabilir

Getting bytes from continuous streams on Windows Phone 7

:

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

Canlı bir radyo akışının ContentLength nedir? – AnthonyWJones

+0

Anlaştık! Hata ayıklamadan değerin -1 olduğunu gördüm ... yani herhangi bir fikir veya ipucu? Cevap için teşekkürler! –

cevap

1

aynı sorunu vardı, işte ben onu çözdüm nasıl Uygulama dışı talep, gerekli miktarda veri alıyorsunuz.

+0

AudioStreamer ajanında hemen hemen aynı şeyi yapıyorum ve bir süre sonra stream.Read sonsuza dek donuyor. Bu tür sorunlarla karşılaştın mı? –

+0

Yapmadım. Sorunu kapsayan başka sorular açmaktan çekinmeyin. –

+0

Yapacağım ama şimdilik bunun neden çalışmadığından emin değilim - bu bir sorun değil (o değil), GC (değil) veya HttpWebRequest özellikleri (donno). Cevapladığınız için teşekkürler, Den –