2010-07-12 2 views
1

WPF 및 MediaElement를 사용하여 미디어 플레이어를 쓰고 있습니다. 여러 개의 오디오 트랙이있는 비디오를 재생하고있었습니다. 그러나 그들은 모두 내가 어떻게 그냥 가능한 모든입니까? 중 하나를 재생합니까?WPF MediaElement, 오디오 트랙 변경

답변

2

이 문제는 사용하는 오디오 및 비디오 DirectShow 코덱에있는 것으로 생각됩니다. Windows Media Player에서 올바른 비디오를 재생할 수 있습니까? 아니요, 적절한 코덱을 다시 설치하십시오.

몇 달 전 완전히 프로토 타입이 있습니다. d 다국어 소프트웨어에서 비디오 도움말을 표시하기 위해 오디오 트랙을 전환하기위한 요구 사항 내 경험은 몇 가지 대안을 보여줍니다 윈폼 호스트를 통해

  • 사용 WMP 제어를 다음과 같은 언어 변경 :

    VAR 제어 = ((IWMPControls3) wmpControl.Ctlcontrols를);
    control.currentAudioLanguage = 9; // 영어

here의 전체 LCID 목록입니다.

wmpControl.PlayStateChange += (o, args) => { 
    if(args.newState == 3) { 
    var control = ((IWMPControls3)wmpControl.Ctlcontrols); 
    for(int i = 1; i <= control.audioLanguageCount; i++) { 
     MessageBox.Show(control.getAudioLanguageID(i) + ": " + control.getAudioLanguageDescription(i)); 
    } 
    } 
}; 
  • 를 사용하여 별도의 오디오 트랙과 MediaPlayer를 사용하여 비디오에 기적을 재생 : 는 같은 것을 사용할 수있는 영상의 모든 오디오 트랙을 나열하려면. 이 방법의 가장 큰 문제점은 오디오 및 비디오 재생을 동기화하고, 시작, 중지, 찾기 등을 수동으로해야한다는 것입니다.

귀하의 솔루션 선택에 도움이되기를 바랍니다.

+0

감사합니다. 이로 인해 많은 시간을 절약 할 수있었습니다! 지금 wpf에서 비디오 도움말을 작업하므로 Windows 미디어 플레이어 컨트롤을 사용하려고합니다. –

+0

두 오디오 트랙이 동시에 재생되는 것과 동일한 문제가있었습니다. K-Lite Codec Pack을 다시 설치하면 문제가 해결되었습니다. 감사! – CodingYourLife

0

을 그것은 WPF MediaElement에와 수 없습니다. 일부의 DirectShow 노하우가있는 경우 같은 시간 :(

을에서 재생 어떻게하면 내 WPF MediaKit을 시도해보고 MediaUriElement/Player를 수정하거나 직접 만들 수 있습니다.

+0

나는이 게시물을 발견하고 같은 일을하려고합니다. MediaKit을 사용하고 있지만 오디오 스트림을 전환하기 위해 수정하는 방법을 모르겠습니다. 이것에 대한 모든 노력은 크게 감사 할 것입니다. – thecaptain0220