2016-06-16 37 views
1

當我的窗口在我的Wpf項目中打開時,我想播放我的音頻文件作爲背景音樂。我使用MediaElement控件。像無法播放.mp3音頻文件作爲背景音樂

<MediaElement MediaOpened="myMediaElement_MediaOpened" MediaFailed="myMediaElement_MediaFailed" 
        Volume="10" x:Name="myMediaElement" IsMuted="False" 
        LoadedBehavior="Manual" UnloadedBehavior="Manual" 
        Source="Resources/Media/Audio/StartPageMusic.mp3"/> 

當窗口打開時,我無法獲得任何聲音。並且無法捕捉任何異常。它有什麼問題?還是我做錯了什麼? 我處理了事件並嘗試播放文件。

private void myMediaElement_MediaOpened(object sender, RoutedEventArgs e) 
    { 
     MediaElement _element = sender as MediaElement; 
     _element.Play(); 
    } 

我的文件位於資源/媒體/音頻文件夾中。這個文件夾在我的項目中。並且我已將音頻文件設置爲屬性窗口中的BuildAction和CopyAlways for CopyToOutputDirectory。

回答

1

正如我所看到的問題是,MediaOpened不會引發。

原因是這樣的:

'MediaElement.MediaOpened事件當媒體加載完成發生。'

MSDN:MediaElement.MediaOpened Event

如果你想要播放的MP3文件作爲背景音樂時,主窗口打開,那麼你可以添加WindowLoaded事件,有你就可以開始播放。

public MainWindow() 
{ 
     InitializeComponent(); 

     this.Loaded += new RoutedEventHandler(MainWindow_Loaded); 
} 

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
     myMediaElement.Play(); 
}