android编程实现电话录音的方法
作者:AlexZhuang
这篇文章主要介绍了android编程实现电话录音的方法,涉及Android监听电话通话及音频采集的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
- Android音频录制MediaRecorder之简易的录音软件实现代码
- Android简单的利用MediaRecorder进行录音的实例代码
- Android App调用MediaRecorder实现录音功能的实例
- Android录音时获取分贝值的方法代码实例
- Android使用MediaRecorder实现录音及播放
- Android 实现电话来去自动录音的功能
- Android编程开发录音和播放录音简单示例
- Android中简单调用图片、视频、音频、录音和拍照的方法
- android语音即时通讯之录音、播放功能实现代码
- Android使用AudioRecord实现暂停录音功能实例代码
- Android编程实现录音及保存播放功能的方法【附demo源码下载】