android编程实现电话录音的方法
程序员文章站
2023-11-12 09:41:22
本文实例讲述了android编程实现电话录音的方法。分享给大家供大家参考。具体如下:
在清单文件androidmanifest.xml中添加权限:
本文实例讲述了android编程实现电话录音的方法。分享给大家供大家参考。具体如下:
在清单文件androidmanifest.xml中添加权限:
<uses-permission android:name="android.permission.read_phone_state"/> <!-- 在sdcard中创建与删除文件权限 --> <uses-permission android:name="android.permission.mount_unmount_filesystems"/> <!-- 往sdcard写入数据权限 --> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="android.permission.record_audio"/> <!-- 访问internet权限 --> <uses-permission android:name="android.permission.internet"/> <uses-permission android:name="android.permission.receive_boot_completed"/>
java代码如下:
public class phonelistenerservice extends service { @override public void oncreate() { telephonymanager manager = (telephonymanager) getsystemservice(context.telephony_service); //监听电话的状态 manager.listen(new mylistener(), phonestatelistener.listen_call_state); } private final class mylistener extends phonestatelistener { private string num; private mediarecorder recorder; public void oncallstatechanged(int state, string incomingnumber) { switch (state) { case telephonymanager.call_state_ringing: /* 电话进来时 */ num = incomingnumber; break; case telephonymanager.call_state_offhook: /* 接起电话时 */ try { file file = new file(environment.getexternalstoragedirectory(), num + "_" + system.currenttimemillis() + ".3gp"); recorder = new mediarecorder(); recorder.setaudiosource(audiosource.mic);//声音采集来源(话筒) recorder.setoutputformat(outputformat.three_gpp);//输出的格式 recorder.setaudioencoder(audioencoder.amr_nb);//音频编码方式 recorder.setoutputfile(file.getabsolutepath());//输出方向 recorder.prepare(); recorder.start(); } catch (exception e) { e.printstacktrace(); } break; case telephonymanager.call_state_idle: /* 无任何状态时 */ if (recorder != null) { recorder.stop(); recorder.release(); } break; } } } }
希望本文所述对大家的android程序设计有所帮助。