2013-11-28 2 views
1

을 재생되지 않습니다 내가 가진 :MediaElement에이 XAML에서 mp3 파일

발생시키는 방법에
<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에 대해 작동하지 않습니다.

답변

2

설정이 올바른 것 같지만 MediaElementminotaurFoot.mp3을 찾을 수 없습니다. MediaFailed -의 이벤트를 등록하고 상승했는지 확인하십시오. 메서드에 전달 된 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 to Output directoryCopy always 또는 Copy if newer을 설정하면됩니다.

프로젝트에서 mp3 파일을 선택하고 마우스 오른쪽 버튼을 클릭하여 ContextMenu를 엽니 다. 그런 다음 속성을 선택하고 위의 지정된 설정을 지정하십시오.

+0

고마워요! 그것은 미디어 파일을 찾을 수 없다고 말합니다. 프로젝트에 직접 파일이 있습니다. 이미지가 있으면이 위치가 작동합니다. 이것이 mp3의 문제입니까? – user2602079

+0

@ user2602079 아니요 mp3 파일에는 문제가 없습니다. MediaElement의 Source 속성 만 변경하면됩니다. 이'/ TheseusAndTheMinotaur; component/minotaurFoot.mp3'을 사용해보십시오. 또는 Visual Studio의 PropertyWindow를 사용하여 소스를 설정하십시오. – Jehof

+0

그런 행운은 없습니다. 나는 또한 Images 폴더에 넣었고 이미지와 운이 같은 파일 경로를 주었다. 그래도 고마워. – user2602079