的MediaElement不会播放MP3(MediaElement won't play a

2019-10-19 02:06发布

在XAML我有:

<Page.Background>
    <ImageBrush ImageSource="/TheseusAndTheMinotaur;component/Images/marbleBackground.jpg"/>
</Page.Background>
    <Grid x:Name="mainGrid" Margin="0" IsHitTestVisible="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="500" x:Name="gameArea"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

    <MediaElement x:Name="footStep" Source="minotaurFoot.mp3" Volume="1" LoadedBehavior="Manual"/>
    <Button x:Name="btnExit" Content="Exit" HorizontalAlignment="Right" Margin="0,0,220,20" VerticalAlignment="Bottom" Width="75" Click="btnExit_Click" Grid.Column="2" IsHitTestVisible="True"/>
        <Canvas x:Name="pbxMap" Margin="10" Grid.Column="1" Background="#7F000000" IsHitTestVisible="True" Focusable="True"/>
    </Grid>

在触发一个方法,我有:

this.myGamePlayerPage.footStep.Play();

没有播放声音,但没有错误。 任何想法,这是为什么? 谢谢。

编辑:我改变了源这样的: Source="C:\newnew\TheseusAndTheMinotaur\minotaurFoot.mp3"和它的作品。 但是,这是没有好处的。 它不会对其他ocmputers工作。

Answer 1:

您的设置似乎是正确的,但我想这将MediaElement找不到minotaurFoot.mp3 。 注册MediaFailed中的-活动MediaElement并检查它是否得到提高。 该ExceptionRoutedEventArgs传递给方法,应包含有关信息,文件为什么不能播放。

XAML

<MediaElement x:Name="footStep" 
              MediaFailed="MediaFailedHandler"
              Source="minotaurFoot.mp3"
              Volume="1"
              LoadedBehavior="Manual"/>

C#

public void MediaFailedHandler(object sender, ExceptionRoutedEventArgs e){
    // e.ErrorException contains information what went wrong when playing your mp3
}

更新

你还需要将MP3复制到你的项目的输出文件夹中。 这是通过设置Copy alwaysCopy if newer的高级设置Copy to Output directory

在项目中选择MP3文件,右键打开文本菜单。 然后选择属性,使上述指定的设置。



文章来源: MediaElement won't play an mp3