前段時間調了FM的驅動,今天有空就整理下。
一、我先整理下在底層關於FM驅動的Lib庫,首先要想好在底層我們要准備好提供上層的JNI接口。
我目前想到如下幾個接口:
1.fm_power_on(); 打開FM;
2.fm_power_off(); 關掉FM;
3.fm_search_freq(int frq, char up); FM自動搜台,並跳到下一個台的位置;
4.fm_get_freq(); FM得到當前電台的頻率;
5.fm_set_mute(); 設置FM靜音;
6.fm_set_volue(int value); 設置FM的音量大小;
這些函數實現後,編譯成動態庫(生成.so文件)。
二、在framework/base/core/jni目錄下實現一個.cpp文件把lib庫調用,實現FM的一些工作,這個jni就會直接給mangerserver,最上面的apk應用會調用Manger層,而manger和mangerserver之間的通信是通過IPC機制實現的。