2017-05-23 1 views
0

현재 두 개의 Dolby 7.1 사운드 카드를 사용하는 시스템이 있으며 각 스피커는 OpenAL/Unftft를 사용하여 다른 스피커 세트에 다른 스테레오 출력을 재생합니다.OpenAL을 사용하여 특정 채널로 재생

두 카드의 출력 채널이 모두 필요하지 않기 때문에 시스템의 사운드 카드 중 하나를 제거하려고합니다.

하드웨어에서 ALSA 구성 파일을 수정하여 지원한다는 사실을 입증했으며 aplay -D setA /tmp/sound.wav과 ALSA PCM을 사용하는 한 세트의 스피커에만 사운드를 재생할 수 있으며 다른 스피커 세트에는 동일한 사운드를 사용할 수 있습니다. 다른 PCM : aplay -D setB /tmp/sound.wav. setAsetBasound.conf 파일에 정의되어 있습니다. 내가 OpenAL에 /를 쿼리 할 때 사용할 수있는

재생 장치는 alsoft 있습니다

ALSA Software on Xonar DX [Multichannel] (hw:0,0) 
ALSA Software on Xonar DX [Digital] (hw:0,1) 

내가 사랑하는 것 특정 ALSA PCMS에 매핑 "가상"를 OpenAL 장치를 만들 수 있도록. 그게 가능하니?

alsoft.conf 파일에 ALSA PCM을 지정할 수 있지만 (device = 태그를 통해), 보조 장치 및 ALSA 장치를 매핑하는 곳은 어디에도 없습니다.

답변

0

OpenAL의 최신 트렁크가 내가 원하는 정확한 기능을 가지고 있습니다. 를 OpenAL 메인테이너에서

다음과 같이 최신 버전의 https://openal.org/pipermail/openal/2017-May/000639.html

, 당신은 OpenAL에 장치에 ALSA의 PCM 채널의 매핑을 지정할 수 있습니다

[alsa] 
custom-devices = Stereo Set 1=setA;Stereo Set 2=setB 

각 항목 분리와 형식은, <OpenAL device name>=<ALSA device name>입니다 세미콜론 (공백 전 및 공백은 제거되지 않고 보존됩니다). 이는 일반적으로 제공되는 장치 목록에 추가되며 ALSA Default 장치 다음에 나타납니다. 현재 ALSA 장치가 실제로 유효한지 여부를 확인하지도 않으며 관련 OpenAL 장치가 열려 있지 않으면 실패합니다.

이 기능이 포함 된 공식 OpenAL 1.18 버전은 2017 년 6 월에 출시 될 예정입니다.

관련 문제