Android实现电话录音
发布时间:2020-05-28 17:00:31 所属栏目:Java 来源:互联网
导读:Android实现电话录音
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 在清单文件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"/>
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;
}
}
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
