2012-07-25 103 views
0

我想知道,如果有方法在Windows Phone中播放媒體文件,但此文件仍在下載?播放媒體文件時,它仍在下載(Windows Phone)

目前,我有一個應用程序的功能,允許下載和播放媒體文件,當他們完全下載。 (我創建了這個功能,使用article

所以,簡單地說,首先,媒體文件是從URL下載,然後我使用MediaElement的發揮它:

mediaElement.source = isolatedStorageFileStream; 

後那我可以通過我的播放器UI使用這個文件。

但是,我更喜歡使這個功能更好 - 允許開始播放文件,而下載仍在進行中。最後,這應該看起來像這樣:開始下載文件,同時開始解密此文件,同時允許播放文件的解密部分。讓我們忘記解密到目前爲止(我已經寫了一個下載文件的方法,它應該稍微改變),主要問題是如何允許兩個並行任務:下載和播放。

第一個問題是:「MediaElement是否只允許將」source「屬性設置爲僅固體(最終下載)的文件,或者它可以在下載過程中使用此Stream? 因爲,我發現了一些信息,即:

「該MediaElement的不支持在此刻流它 負荷整個文件第一它實際上起着之前」

雖然我不太確定,但這個指的是Windows Phone,聽起來很焦慮。

如果不能這樣做,還可以使用什麼來處理媒體文件?我對下載視頻不感興趣,我們只能使用mp3音頻文件進行限制。

眼下,下載過程是這樣實現的:

WebClient webClient = new WebClient(); 
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged); 
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted); 
webClient.OpenReadAsync(new Uri(link)); 

然後在OpenReadCompleted下載文件流被設置爲媒體文件的來源。

mediaFile.SetSource(isolatedStorageFileStream); 

之後我可以使用我的媒體文件。

我有解決我的問題嗎?我在Windows Phone線程和流媒體方面頗爲新穎,不知道如何實現這樣的功能。

P.S.當然,我試圖找到類似的問題,但失敗了。如果你知道的話,請給我一個鏈接。

P.P.S.對不起我的英語不好。

回答

0

您只能使用BackgroundAudioPlayer進行流式處理。

相關問題