JACK、PulseAudio 和 Firefox:在不久的將來為 Firefox 啟用 JACK

JACK、PulseAudio 和 Firefox:在不久的將來為 Firefox 啟用 JACK

Firefox bug #1345661 已透過「WONTFIX」關閉,這肯定會在不久的將來破壞我目前的設定(我透過alsa_in: loopback->JACK 播放 Firefox 聲音)。我了解到 Firefox 現在已經支援 JACK,儘管它還不穩定。問題:

  1. Firefox 中的 JACK 支援會得到正式支援嗎?
  2. 在原始 ALSA 支援結束之前,Ubuntu 會在 Firefox 中啟用 JACK 支援嗎?

我的答案是否定的,如何在不破壞 JACK 的情況下可靠地恢復功能?可以透過 運行 PA alsa_in,但我想這會引入一些額外的延遲,破壞 AV 同步,或由於多個重採樣器而引入訊號失真。

答案1

我使用以下我稱之為“pulsejack”的腳本。不帶參數呼叫它,它將現有的連接jackd到 PulseAudio。使用任何參數呼叫時,它都會使用這些參數啟動jackd,然後將其連接到 PulseAudio。然後 Firefox 可以從 PulseAudio 中取得聲音。

#/bin/sh
if [ $# -gt 1 ]
then
    killall jackd 2> /dev/null && sleep 2
    jackd "$@" && sleep 2
fi
pactl load-module module-jack-sink channels=2
pactl load-module module-jack-source channels=2
pacmd set-default-sink jack_out
pacmd set-default-source jack_in

您可能需要運行 sudo apt install pulseaudio-module-jack 才能獲取相應的模組。

答案2

我已經編譯了帶有插孔支援和輸出(來源)的 mozilla-central firefox,當您訪問帶有音訊的網站(即 youtube)時,會自動建立。

然而 - 輸入接收器來源不會被建立;我沒有看到它們出現在節奏/插孔補丁灣。所以任何依賴麥克風輸入的東西都會失敗。即 meet.jit.si / webrtc 測試...


另一個問題是,即使使用pulseaudio橋;同樣的問題,即使正確連接到脈衝接收器,輸入來源也不會被 Firefox 識別。然而,在 Chrome 中,麥克風輸入正確地使用插入的捕獲來進行脈衝接收。所以我認為這是 Firefox 檢測和報告麥克風存在資訊方式的錯誤。

我個人的觀點是,輸入/捕獲接收器來源應該在 Firefox 啟動時創建,而不是像僅插孔情況下的輸出來源那樣基於每個選項卡/網站創建。

相關內容