Gentoo 歷程(4):搞定藍牙耳機,暴力解決pulseaudio版本低的問題

    本來裝完系統後就裝上了bluez和blueman,根據官方文檔配置了內核和相關軟件,用手機測試了下,收發文件都正常,就沒再管,今天看電影想用藍牙耳機,沒想到居然連接不上,一連接就報錯:

Device added successfuly,but failed to connect

    根據慣例,去gentoo文檔看看,跟着headset文檔一路做下來,問題依舊。


    想到上一篇提到的apache那個坑爹的經歷,這次首先檢查了下bluez和blueman的use,果不其然吶,blueman裏有個-pulseaudio,這玩意都沒了能用才見鬼了。

    全局啓動pulseaudio這個use flag,然後重新編譯blueman(又不低碳了,罪過,罪過),最後提示每次啓動的時候要插入我的藍牙設備……我倒是想拔了,內置的藍牙哪有那麼好拔,好了,正好剛剛新編譯了內核(費電啊……罪過……),一起重啓吧,重啓後,再次試着連藍牙耳機,又失敗了……怎麼個情況呢?pkill blueman,然後終端裏啓動,看看報錯信息:

__load_plugin (/usr/bin/blueman-applet:182)
loading <class 'blueman.plugins.applet.PulseAudio.PulseAudio'> 
Using file config backend
_________
pa_context_event (/usr/lib64/python2.7/site-packages/blueman/main/PulseAudioUtils.py:115)
1 
_________
on_load (/usr/lib64/python2.7/site-packages/blueman/plugins/applet/PulseAudio.py:96)
PulseAudio version: 1.1.0 
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/blueman/plugins/AppletPlugin.py", line 105, in _load
    self.on_load(applet)
  File "/usr/lib64/python2.7/site-packages/blueman/plugins/applet/PulseAudio.py", line 116, in on_load
    raise Exception("PulseAudio too old, required 0.9.15 or higher")
Exception: PulseAudio too old, required 0.9.15 or higher
_________

    我靠……版本太低?還需要0.9.15以上的?我的可是1.1啊喂!嗯……找到那個PulseAudio.py,看看判斷版本的語句怎麼個情況:

	if int(version.split(".")[2]) < 15:
			raise Exception("PulseAudio too old, required 0.9.15 or higher")

    好嘛,原來是blueman版本太低,不知道pulseaudio已經到了1.X時代,直接註釋掉這個語句塊好了,繼續搜索下還有沒有,又找到一個:

	if int(self.pulse_utils.GetVersion().split(".")[2]) >= 18:
			args = "address=%s profile=%s sink_properties=device.icon_name=blueman card_properties=device.icon_name=blueman"
		else:
			args = "address=%s profile=%s"

    這次這個註釋掉1、3、4行,由於python裏縮進很重要,第二行要往前提,提到和第一行的if齊平的位置,我的修改後是這個樣子的:

		args = "address=%s profile=%s sink_properties=device.icon_name=blueman card_properties=device.icon_name=blueman"
		#if int(self.pulse_utils.GetVersion().split(".")[2]) >= 18:
			#args = "address=%s profile=%s sink_properties=device.icon_name=blueman card_properties=device.icon_name=blueman"
		#else:
			#args = "address=%s profile=%s“

    改完這裏後面應該沒了,至少我沒再發現,再試試,這次pulseaudio這個plugin載入正常了,再次試着連接……我擦,還不行!徹底沒轍了,去google搜搜吧,經過一番搜索,找到了這個博客,看了看他的過程和我差不多啊,怎麼人家就成功了呢……等等!alsa-plugins?安裝alsa的時候似乎沒看到它?難道又是依賴沒自動安裝上?emerge -av alsa-plugins,再試着連接……居然就這麼好了,gentoo果然是個適合折騰的發行版啊,從arch換到gentoo看來還得適應一段時間。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章