簡體   English   中英

從外部服務器流式傳輸mp3文件

[英]Streaming mp3 file from external server

我正在開發Windows Phone 8應用程序。 我需要從應用程序中的遠程服務器流式傳輸.mp3聲音文件。

我嘗試使用MediaElement

private MediaElement media;
// Constructor of class
            media = new MediaElement();
            media.Source = new Uri(string.Format("{0}b10en_US.mp3", mp3HostName), UriKind.Absolute);
            media.MediaFailed += media_MediaFailed;
            media.MediaEnded += media_MediaEnded;
            media.MediaOpened += media_MediaOpened;
            media.Loaded += media_Loaded;
            media.BufferingProgressChanged += media_BufferingProgressChanged;

// In a method I call the following
media.play();

但是,不會播放任何聲音。 我在中介事件中添加了斷點,但沒有一個被解雇。

我已仔細檢查過,mp3文件的URI是否正確。

我究竟做錯了什么?

嘗試這個 :

        string url = "http://traffic.libsyn.com/slashfilmcast/Davidmichod.mp3";//your url link
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            Microsoft.Xna.Framework.FrameworkDispatcher.Update();
            Song track = Song.FromUri("Sample Song", new Uri(url));
            MediaPlayer.Play(track);

        }

using Microsoft.Xna.Framework.Media; //獲取MediaPlayer

發生媒體打開事件后,您可以播放mp3。 我認為您的方法(在媒體打開事件發生之前調用您正在調用的方法)。

您可以在mediaOpened事件和您的方法(播放)中實現一些技巧。 喜歡

private bool isMediaLoaded = false;
private bool isPlayCalled = false;
private void PlayMP3()
{
    if(isMediaLoaded)
       media.Play();
    else
       isPlayCalled = true;
}
void MediaElement1_MediaOpened(object sender, RoutedEventArgs e)
{
    isMediaLoaded = true;
    if(isPlayCalled)
        MediaElement1.Play();

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM