本文实例讲述了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 {@OverrIDepublic 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程序设计有所帮助。
总结以上是内存溢出为你收集整理的android编程实现电话录音的方法全部内容,希望文章能够帮你解决android编程实现电话录音的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)