android-電話錄音
telephonymanager telmanager = (telephonymanager)getsystemservice(context.telephony_service);
//通過電話管理監聽通話狀态(回調機制)
telmanager.listen(listener,phonestatelistener.listen_call_state);
listener = new phonestatelistener(){
public void oncallstatechanged(int state,string incomingnumber){
switch(state){
case telephonymanager.call_state_idle://空閑
case telephonymanager.call_state_offhook:挂起電話
case telepnhonymanager.call_state_ringing:振鈴
}
//錄音
recorder = new mediarecorder();
recorder.setaudiosource(mediarecorder.outputformat.three_gpp);//.3gp
recorder.setaudioencoder(mediarecorder.audioencoder.amr_nb);
recorder.setoutputfile(“/mnt/sdcard/”+filename);
recorder.prepare();
recorder.start();
recoding = true;
<uses-permission android:name=”android.permission.read_phone_state”/>
android2.0(api 5)測試通過,2.2不可以.
通過receiver機制(收到手機啟動完成的廣播)啟動電話錄音服務
xxxreceiver extends receiver{
public void onreceive(){
intent = new intent(this,xxxxservice.class);
startservice(intent);
//配置使用權限
<uses-permission
android:name = “android.permission.receive_boot_completed”/>
<uses-permission android:name="android.permission.write_external_storage"/>
<uses-permission android:name=”android.permission.internet”/>
<uses-permission android:name=”android.permission.record_audio”/>
注:
電話錄音者應用程式需要停止卡塔莎錄屏軟體,否則電腦卡死。