Ubuntu에서 AirPlay 2 스피커로 오디오를 재생하는 방법은 무엇입니까?

Ubuntu에서 AirPlay 2 스피커로 오디오를 재생하는 방법은 무엇입니까?

Ubuntu 20.10과 한 쌍이 있습니다동굴 LSXApple AirPlay 2 연결을 사용하고 싶습니다. 저는 Ubuntu와 동일한 LAN에 있는 Windows 10과 iPhone 8의 iTunes를 사용하여 이 작업을 수행했습니다. 우분투의 경우 나는PulseAudio 환경 설정(파프스) 할 수 있게 하다검색 가능한 Apple AirTunes 사운드 장치를 로컬에서 사용할 수 있도록 설정(링크를 생성하여 관련 오류가 해결되었습니다 sudo ln -sv '/usr/lib/pulse-15.0+dfsg1' /usr/lib/pulse-15.0.) Ubuntu는 스피커를 잘 감지하지만 아무 소리나 재생할 때 소리가 나지 않고 로그에 다음 오류가 나타납니다.

Unexpected/Unhandled response: RTSP/1.0 403 Forbidden
Unexpected/Unhandled response: Content-Length: 0
Unexpected/Unhandled response: Server: AirTunes/366.0
Unexpected/Unhandled response: CSeq: 3

왜 이런 일이 발생하며 이를 해결하려면 어떻게 해야 합니까?

$pacmd list sinks

2 sink(s) available.
    index: 1
    name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: IDLE
    suspend cause: (none)
    priority: 9039
    volume: front-left: 45080 /  69% / -9.75 dB,   front-right: 45080 /  69% / -9.75 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 1999.62 ms
    max request: 344 KiB
    max rewind: 344 KiB
    monitor source: 1
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 2000.00 ms; range is 0.50 .. 2000.00 ms
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 5
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC1220 Analog"
        alsa.id = "ALC1220 Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0x6001110000 irq 140"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "a348"
        device.product.name = "Cannon Lake PCH cAVS"
        device.form_factor = "internal"
        device.string = "front:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Built-in Audio Analog Stereo"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: yes)
            properties:
                
        analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"
    active port: <analog-output-lineout>
  * index: 2
    name: <raop_output.LSX-02869F.local>
    driver: <module-raop-sink.c>
    flags: NETWORK HW_MUTE_CTRL HW_VOLUME_CTRL LATENCY 
    state: IDLE
    suspend cause: (none)
    priority: 0
    volume: front-left: 65536 / 100%,   front-right: 65536 / 100%
            balance 0.00
    base volume: 65536 / 100%
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 1 KiB
    max rewind: 0 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 250.00 ms
    card: 1 <raop_client._192.168.1.252__7000>
    module: 10
    properties:
        device.string = "[192.168.1.252]:7000"
        device.description = "LSX 02869F"
        device.model = "LSX"
        device.icon_name = "audio-card"
    ports:
        network-output: [192.168.1.252]:7000 (priority 0, latency offset 0 usec, available: unknown)
            properties:
                
    active port: <network-output>

답변1

저는 Raspberry Pi 4 Model B Rev 1.4를 사용하고 있습니다.https://github.com/juhovh/shairplay일하다.

프로젝트를 복제하고 빌드하고 서비스 파일을 복사합니다.

sudo cp -v /home/gigi/compile/shairplay/shairplay.service /etc/systemd/system/ && sudo chown root: /etc/systemd/system/shairplay.service && sudo chmod 664 /etc/systemd/system/shairplay.service && sudo systemctl daemon-reload

Airport.key를 루트 디렉터리에 복사하세요.

sudo cp -v /home/gigi/compile/shairplay/airport.key /

서비스를 시작합니다:

sudo systemctl start shairplay

Raspberry Pi를 시작/다시 시작한 후에는 명령을 실행해도 서비스가 전혀 작동하지 않는 것으로 나타났습니다 sudo systemctl restart shairplay.

관련 정보