2013-02-20 5 views
0

저는 오디오 프로그램에서 새로운데, 할일이있어서 어떻게해야할지 모르겠군요. 올바른 방향으로 나를 안내 할 수 있다면 그것은 나에게 많은 것을 의미 할 것입니다.모노 채널 용 멀티 채널 플레이어

예를 들어 7.1 카드에서 8 개의 모든 모노 채널을 ​​통해 하나의 사운드 장치의 모든 채널을 통해 differents mp3 파일을 재생하고 싶습니다. 그러나 나는 개별적으로 제어하고 싶습니다. 즉, 표준 플레이어 옵션을 재생, 일시 중지, 중지 및 모든 다른 플레이어가 할 수있었습니다.

MultiplexingWaveProvider를 테스트 해봤는데 제대로 작동했지만 음악을 중단하거나 재생할 수있는 옵션이 없습니다. 그런 다음 Naudio가 개별 채널을 개별적으로 처리하려고 시도했지만 ASIO 드라이버를 시도했지만 마지막 호출 ASIO 생성자가 첫 번째를 덮어 씁니다. 어떻게하면 이것을 작동시킬 수 있습니까? Naudio 또는 다른 무료 라이브러리를 사용하고 있습니까?

여기에 내 코드

AsioOut waveOutdevice1 = new AsioOut(); 
waveOutdevice1.ChannelOffset = -1; 
waveOutdevice1.Init(input1); 

AsioOut waveOutdevice2 = new AsioOut(); 
waveOutdevice2.ChannelOffset = 1; 
waveOutdevice2.Init(input2); 

waveOutdevice1.Play(); 
waveOutdevice2.Play(); 

답변

0

당신은 AsioOut의 여러 인스턴스를 열 수 없습니다입니다. 멀티 채널 입력을 제공해야합니다. MultiplexingWaveProvider을 사용해야합니다. 나는 당신이 플레이하고 멈추는 옵션이 없다는 것을 당신이 무엇을 의미하는지 모르겠습니다 - 당신은 단지 Play를 사용합니다. 일부 채널은 재생할 수 있지만 다른 채널은 재생하지 않으려는 경우 소스에서 읽기와 무음 출력 사이를 전환 할 수있는 다른 WaveProvider를 구현합니다. 즉, 모든 채널은 항상 재생되지만 일부는 조용하게 재생됩니다.

+0

안녕하세요, Mark, 대답 해주세요. WaveProvider를 전환 할 수있는 예제를 가르쳐 줄 수 있습니까? 성공하지 않으려 고 시도했기 때문에 다른 질문이 있습니다. WaveProvider를 전환하면 청취자는 다른 채널의 차이를 알 수 없습니까? 어떻게 할 수 있습니까? – Efrain