sox 형식 실패: 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' 입력을 열 수 없습니다. 오디오 장치를 열 수 없습니다: 연결이 거부되었습니다.

sox 형식 실패: 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' 입력을 열 수 없습니다. 오디오 장치를 열 수 없습니다: 연결이 거부되었습니다.

오디오 입력을 수신하기 위해 다음 서비스를 작성했습니다.

[Unit]
Description=Monitor Audio Output
After=syslog.target network.target plusaudio.service

[Service]
Type=simple
ExecStart=sox -v 5 -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor  -t mp3 /home/ahmad/recordings/k2.mp3 silence 1 0.1 3% 1 3.0 3%

Restart=on-success
EnvironmentFile=/etc/environment
User=ahmad

[Install]
WantedBy=default.target

터미널에서 명령을 실행 하면 sox모든 것이 정상이고 오디오가 들립니다. 그러나 서비스를 시작하고 상태를 확인하면 다음과 같이 표시됩니다.

    ● runsox.service - Monitor Audio Output
     Loaded: loaded (/etc/systemd/system/runsox.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2020-07-23 21:06:28 +0430; 43s ago
    Process: 5517 ExecStart=/usr/bin/sox -v 5 -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 /home/ahmad/recordings/k2.mp3 silence 1 0.1 3% 1 3.0 3% (code=exited, status=2)
   Main PID: 5517 (code=exited, status=2)

جولای 23 21:06:27 app systemd[1]: Started Monitor Audio Output.
جولای 23 21:06:28 app sox[5517]: /usr/bin/sox FAIL formats: can't open input  `alsa_output.pci-0000_00_1b.0.analog-stereo.monitor': can not open audio device: Connection refused
جولای 23 21:06:28 app systemd[1]: runsox.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
جولای 23 21:06:28 app systemd[1]: runsox.service: Failed with result 'exit-code'.

고쳐 쓰다

터미널에서 명령을 실행하면 sudo동일한 오류가 발생하므로 권한이나 펄스 설정에 문제가 있는 것 같습니다.

sudo /usr/bin/sox -v 5 -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 /home/ahmad/recordings/k2.mp3 silence 1 0.1 3% 1 3.0 3%
/usr/bin/sox FAIL formats: can't open input  `alsa_output.pci-0000_00_1b.0.analog-stereo.monitor': can not open audio device: Connection refused

답변1

문제는 pulseaudio가 시스템 전체에서 실행되지 않으므로 시작 시 pulseaudio 서비스가 실행되지 않는다는 것입니다.

데스크톱 시스템 범위에서는 실행하지 않는 것이 좋습니다. 그러나 정말로 이 작업을 수행하려면 다음을 참조하세요.

시스템 전체의 시스템 서비스인 Pulseaudio

관련 정보