2013-07-10 3 views
0

나는 두 개의 버튼이 있는데, 재생 및 일시 중지, 일시 중지를 클릭하면 음악이 중지되고 재생을 클릭하면 처음부터 오디오가 시작됩니다. 나는 내가 Play를 누를 때처럼 그것을하고 싶다. 그것은 내가 멈춘 곳에서 다시 시작한다.WPF MediaElement 일시 중지 지점에서 재생을 다시 시작하는 방법은 무엇입니까?

 private void PlayAudio() 
    { 


     McMediaElement.LoadedBehavior = MediaState.Manual; 
     McMediaElement.Source = new Uri("../../SingAlong/Food Fit For A King/old king cole.mp3", UriKind.RelativeOrAbsolute); 
     McMediaElement.Play(); 
    } 

    private void button1_Click_1(object sender, RoutedEventArgs e) 
    { 
     PlayAudio(); 

    } 

    private void button2_Click(object sender, RoutedEventArgs e) 
    { 
     McMediaElement.Pause(); 
    } 

답변

2

귀하의 PlayAudio() 방법을 사용하면 Source 속성을 설정 미디어 파일을 다시로드합니다. 이렇게하면 Play()에 전화 할 때 처음부터 새로로드 된 미디어를 개체에서 재생할 수 있습니다. ..

private void button1_Click_1(object sender, RoutedEventArgs e) 
{ 
    McMediaElement.Play(); 
} 
+0

그래, 나는에있는 재생 버튼을 클릭하는 대신 이벤트 핸들러 button1_Click_1에 이렇게, 당신은 단지 Play() 메서드를 호출한다 시작하면 오디오가 재생되지 않습니다. – user2376998

+1

그래서 원하는 것은 개체의 상태에 따라 두 가지 기능을하는 단추입니다. 불행히도 WPF의 'MediaElement'에는 재생 중이거나 일시 중지되었는지 확인할 수있는 속성이 없습니다. 필요한 경우에만 상태를 추적하고'Open() '을 호출 할 수 있습니다. 나는 당신이 당신의 객체와 그것의'Source' 속성을 설정하는 방법을 모르지만 여러분이 올린 코드에서'Source' 속성이 null 인 경우에만 미디어 파일을 열 것을 제안합니다 – Vanlalhriata

0
이 나를 위해 일

내가 그렇게 할 때

private void button1_Click_1(object sender, RoutedEventArgs e) 
{ 
    McMediaElement.LoadedBehavior = MediaState.Pause; 
} 
private void button2_Click_1(object sender, RoutedEventArgs e) 
{ 
    McMediaElement.LoadedBehavior = MediaState.Play; 
} 
관련 문제