当我的窗口在我的Wpf项目中打开时,我想将我的音频文件作为背景音乐播放。我使用MediaElement控件。喜欢
<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的CONTENT和CopyToOutputDirectory的CopyAlways。
答案 0 :(得分:1)
我可以看到问题是 MediaOpened 未引发。
原因是:
&#39; MediaElement.MediaOpened事件 在媒体加载完成后发生。&#39;
MSDN:MediaElement.MediaOpened Event
如果您想在主窗口打开时播放mp3文件作为背景音乐,那么您可以添加WindowLoaded事件,然后您可以开始播放。
public MainWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
myMediaElement.Play();
}