독점 ALSA 앱

독점 ALSA 앱

두 번째 질문은 웹사이트의 Linux 오디오에 관한 것입니다. 이것이전의상당한 소개 정보가 생성되었습니다.

나는 ALSA그것을 설치했다 PulseAudio.

  • PulseAudio를 설치하기 전에 그래픽 사운드 패널에서 사운드 카드가 감지되지 않았습니다. 이제 "응용 프로그램" 아래에 이 표시됩니다 ALSA plug-in(firefox). 사운드 카드를 감지하고 ALSA를 통해 재생하려면 왜 PulseAudio가 필요합니까?

  • alsamixer작동하지 않음 - 콘솔을 음소거해도 아무런 효과가 없습니다. 또한 동시에 하나의 애플리케이션만 재생할 수 있습니다. 두 번째 애플리케이션을 실행하면 보고서가 표시됩니다 device busy.

그래서 내 소프트웨어 블렌딩이 작동하지 않습니다. 어떻게 해결할 수 있나요? 애플리케이션에서 하드웨어까지 신호 경로를 추적하는 방법은 무엇입니까?

오디오는 USB를 통해 전송됩니다. sais alsamixer, no options for ths device제가 수정하고 있는 컨트롤은 마더보드 사운드 카드의 컨트롤에 적합합니다.

답변1

나는 적어도 당신의 질문 중 하나에 대답할 수 있습니다. alsa와 pulseaudio는 서로를 대체하지 않으며 소프트웨어 스택에서 서로 다른 위치를 차지한다는 점을 명심하세요. Pulseaudio는 alsa에 추가되어 alsa 사용자 영역 도구를 대체합니다. 그것은 alsa를 대체하지 않습니다.

"응용 프로그램" 아래에 ALSA 플러그인(firefox)이 나열되어 있습니다. 사운드 카드를 감지하고 ALSA를 통해 재생하려면 PulseAudio가 필요한 이유는 무엇입니까?

정반대. alsa의 pulseaudio 플러그인은 alsa용이므로 pulseaudio 또는 최소한 WRT firefox를 통해 재생할 수 있습니다. 그러나 ALSA는 방금 언급한 소프트웨어 스택 계층화와 일치하는 실제 하드웨어 시스템(계속 읽기)이기 때문에 결국에는 ALSA로 돌아와야 한다고 생각합니다.

일반적으로 응용 프로그램을 사용하려면 Pulse Audio를 지원해야 합니다. 이는 자체 플러그인이 있음을 의미합니다. 예를 들어, mpg123pulseaudio를 실행하는 시스템에서 사용 중이지만 "mpg123pulseaudio 플러그인"이 설치되어 있지 않은 경우 mpg123은 출력 장치에 액세스하지 못하고 실패할 수 있습니다. Pulseaudio는 애플리케이션의 사운드 스트림을 "가로채기"할 수 없습니다. 애플리케이션은 의도적으로 관계를 시작해야 합니다.

ALSA는 응용 프로그램에서 일반적으로 사용되는 저수준 커널 시스템(일부 사용자 영역 부분 포함)입니다.~하지 않는 한pulseaudio용 플러그인과 같이 우선 순위가 더 높은 플러그인을 설치합니다. 이 경우 펄스 오디오로 스트리밍됩니다. Pulseaudio는 더 높은 수준의 사용자 수준 시스템입니다(즉,아니요커널 하위 시스템이 있고 하드웨어에 직접 액세스할 수 없음) 스트림에서 다양한 작업을 수행할 수 있지만 궁극적으로 로컬 사운드 카드를 사용하는 경우 이를 하위 수준 하드웨어 시스템으로 전달해야 합니다. 내 생각에 (Linux에서는) 이는 ALSA, pulseaudio가 계속 잠겨 있음을 의미하므로 다른 사용자 영역(예: "alsamixer")이 이를 사용할 수 없는 이유입니다. [사실 이것이 pulseaudio를 사용하는 주요 이유 중 하나입니다. 그렇지 않으면 사운드 시스템은 한 번에 하나의 응용 프로그램에서만 사용할 수 있습니다. Pulseaudio는 그러한 응용 프로그램 중 하나이지만 다른 응용 프로그램과 함께 재사용됩니다. ]

alsa firefox 플러그인의 문제점은 flash와 pulseaudio가 호환되지 않는다는 것입니다(플래시 플러그인이 없거나 작동하는 플러그인이 없습니다). 따라서 플래시는 펄스 오디오를 찾지 않고 alsa를 찾습니다. 이 플러그인의 목적은 alsa가 사운드를 하드웨어 대신 pulseaudio로 전달하도록 하는 것입니다. pulseaudio가 사운드를 alsa로 다시 전달할 때 alsa-firefox 플러그인은 관련되지 않으므로 루핑이 없습니다. alsa는 하드웨어와 함께 작동합니다. 간단히 말해서:

pulseaudio ->pulseaudio ->alsa 커널 공간 하위 시스템->사운드 카드 드라이버용 플래시/firefox alsa 사용자 영역 플러그인

첫 번째 단계는 원본 소스 오디오 애플리케이션이 될 수 있습니다. 플래시 펄스 오디오 플러그인 이상의 기능이 있는 이유는 모르겠지만 이는 역사적인 문제입니다.

그래서 내 소프트웨어 블렌딩이 작동하지 않습니다. 어떻게 해결할 수 있나요?

사용자 수준 alsa 믹서 대신 펄스 오디오 믹서를 사용하십시오.

관련 정보