對於安卓2.3系統,只需要將音效驅動程序(libv4a_fx_gb.so或libv4a_xhifi_gb.so)放入/system/lib/soundfx目錄下,並設定權限為rw-r-r,即為安裝成功。
若V4A閃退,則表示系統不支持,無法解決。
對於安卓4.x系統,要做的就比較多了。
首先和安卓2.3相比,安卓4.x系統需要讀取音效配置文件來加載所有驅動,然後V4A通知操作系統啟用某一個特定的音效驅動,若該音效驅動沒有在配置文件內,V4A就無法加載,閃退。
音效驅動配置文件名是audio_effect.conf,原本一般存在於/system/etc/目錄下,對於某些非原生系統如CM9/10等還有一份副本在/vendor/etc/或/system/vendor/etc/目錄下。
副本與原本會同時作用,因此修改動作需要應用到原本和副本上,只修改原本或副本是不行的。
audio_effect.conf,音效驅動配置文件內容和格式:
音效配置文件內分為兩個大塊(或3個大塊,第3個大塊是V4A不需要的)。
內容的每一行以#(井號)開頭的表示註釋說明,做解釋用,沒有實際意義。
第一大塊是libraries塊,表示操作系統可以加載的所有音效驅動所在的路徑。格式如下:
libraries {
……
……
……
}
省略號表示每一個音效驅動程序。格式如下:
name {
path ……
}
其中,name為該音效的名稱,可以隨意,path後面的省略號代表該音效驅動的路徑和文件名。
如:
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
就表示告訴操作系統,有一個音效驅動的名稱為bundle,這個驅動的路徑是/system/lib/soundfx/libbundlewrapper.so
,這樣之後在系統啟動時就會加載bundle這個驅動。
所以,綜合來看,bundle就是如下的格式:
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
}
如果要把V4A的FX音效驅動加進去,就變成了如下:
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
v4a_fx {
path /system/lib/soundfx/libv4a_fx_ics.so
}
}
當完成上面一步之後,僅僅只是做完了告訴操作系統在開機時需要加載哪些音效驅動。但是操作系統卻不知道上面的音效驅動中具體包含了哪些需要用到的音效(如環繞、低音、均衡器等)。
這樣就需要看第二大塊,effects塊。該塊表示了每一個需要加載的音效驅動中包含了哪些音效模塊。
格式與libraries基本一致:
effects {
……
……
}
省略號表示一個音效的定義。格式如下:
fx_name {
library name
uuid ……
}
其中,fx_name是音效的名稱,可以隨意。library後面的name為音效驅動的名稱,對應libraries大塊中的某一個驅動的名字。uuid後面的省略號表示該效果的全局識別碼(這個是開發者自己定的)。
因此上面的一個結構就表示了name這個音效驅動程序中fx_name這個音效。(一個驅動中會有很多很多的音效)
還是用bundle來舉例說明,bundle驅動中一般都會有一個低音增益的音效(很垃圾的那個),uuid是8631f300-72e2-11df-b57e-0002a5d5c51b。那麼這裡就是:
bassboost {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
與libraries大塊組合之後就是:
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
}
effects {
bassboost {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
}
加上v4a的fx版就變成了:
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
v4a_fx {
path /system/lib/soundfx/libv4a_fx_ics.so
}
}
effects {
bassboost {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
v4a_standard_fx {
library v4a_fx
uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
}
}
再加上v4a的xhifi版:
libraries {
bundle {
path /system/lib/soundfx/libbundlewrapper.so
}
v4a_fx {
path /system/lib/soundfx/libv4a_fx_ics.so
}
v4a_xhifi {
path /system/lib/soundfx/libv4a_xhifi_ics.so
}
}
effects {
bassboost {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
v4a_standard_fx {
library v4a_fx
uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
}
v4a_standard_xhifi {
library v4a_xhifi
uuid d92c3a90-3e26-11e2-a25f-0800200c9a66
}
}
最後還要注意的就是,audio_effect.conf文件是unix格式的,在windows環境下編輯需要使用notepad++或ultraedit之類的編輯器,使用記事本是不行的。
如果是對linux懂一些的朋友,可以在windows下上網下載dos2unix程序,在編輯完audio_effect.conf文件之後用dos2unix工具將其再轉換為unix格式,確保一下。
V4A的UUID:
FX版: 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
XHiFi版: d92c3a90-3e26-11e2-a25f-0800200c9a66
您好!您暫時不能瀏覽帖子的全部內容,請 登錄 | 沒有帳號? 註冊 |