2013-01-16 20 views
1

我剛剛從CentOS 5.5升級到6.3,它使用pulseaudio作爲聲音。有沒有使用pulseaudio將Skype揚聲器和鈴聲指向不同設備的方法?

使用的CentOS 5.5,我所有的聲音設備出現了每種聲音的選擇,所以我可以選擇我的鈴聲和耳機的揚聲器(他們的談話過程中聽取的術語)桌面音箱。

下的CentOS 6.3,只有pulseaudio的顯示出來的聲音選項,那麼所有選項(揚聲器,麥克風,振鈴)設置爲耳機。因此,由於我一直不戴我的耳機,所以我聽不到響。

有CentOS的6.3下配置的Skype,所以我可以振鈴去桌面音箱和揚聲器(在通話過程中傾聽)去耳機的方法嗎?

感謝, -W。

回答

0

的Skype的最新版本標誌着振鈴和呼叫流不同,因此可以的PulseAudio兩者區分開來。流可以採用'media.role'屬性。振鈴聲音以'事件'角色標記,並且通話流被標記爲'電話'角色。

的PulseAudio設法自動您有硬件的目的是什麼樣的角色了。它不能用內置卡做很多事情,但USB和藍牙耳機這樣的東西會成爲「手機」的「預期角色」。因此,具有「電話」角色的流路由到這些設備。

這意味着如果您的耳機具有「電話」的預定角色(在'pactl列表接收器'的輸出中查找device.intended_roles),則您的呼叫流將自動使用該設備。

如果沒有,您可以使用另一個PulseAudio行爲。在通話過程中,將通話流移至您需要的設備(播放流和捕捉流)。您將需要pavucontrol應用程序來執行此操作(也可以在命令行上完成)。一旦你移動它們,全部電話流將默認路由到該設備,如果設備可用(PulseAudio會嘗試記住您在移動流時做出的這些顯式路由決策)。

希望這會有所幫助。

+0

嗨,我仍然無法得到這個工作。我的任何聲音設備都沒有media.role'事件',所以似乎沒有辦法讓聲音響起來。無論我將揚聲器插入內置音響設備還是將其插入USB聲卡,情況都是如此。也許這個問題歸結爲:我怎麼能給這些聲音設備之一media.role'事件'? 我可以使用pavucontrol的Playback選項卡來重定向音頻流,但正如您所說的那樣,兩個輸出流(振鈴和收聽)都會發送到同一個設備。 – wchlm

+0

如果您的桌面陷入默認狀態,這將全部「正常工作」。我猜猜它不是。這不是最乾淨的解決方案,但您可以做一件事來移動事件輸出(請注意,_all_事件聲音將被路由到您的揚聲器,而不僅僅是Skype)。在控制檯中,運行「PULSE_PROP =」media.role = event「paplay --raw/dev/zero」。您現在應該在pavucontrol中看到一個paplay流。把它移到揚聲器應該讓所有的事件流在那裏路由。您需要返回控制檯並按Ctrl-C來停止paplay。 –

+0

我正在運行最新版本的Skype(此時爲4.3.0.37)。當Skype正在響鈴時使用'pacmd'和'list-sink-inputs',並且在Skype進行語音呼叫時,我可以看到它始終使用「media.roll = phone」。所以看來,使用當前版本的Skype,Pulseaudio無法區分振鈴聲和語音對話。 –

相關問題