电话录音

原创 2016年06月02日 00:54:07
public class RecorderService extends Service {
	private MediaRecorder recorder;
	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		//拿到电话管理器
		TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
		//监听电话状态
		//events:决定PhoneStateListener侦听什么内容
		tm.listen(new MyListener(), PhoneStateListener.LISTEN_CALL_STATE);
	}
	
	class MyListener extends PhoneStateListener{

	

		//一旦电话状态改变,此方法调用
		@Override
		public void onCallStateChanged(int state, String incomingNumber) {
			// TODO Auto-generated method stub
			super.onCallStateChanged(state, incomingNumber);
			
			switch (state) {
			case TelephonyManager.CALL_STATE_IDLE:
				System.out.println("空闲");
				if(recorder != null){
					recorder.stop();
					recorder.release();
					recorder = null;
				}
				break;
			case TelephonyManager.CALL_STATE_RINGING:
				System.out.println("响铃");
				if(recorder == null){
					recorder = new MediaRecorder();
					recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
					recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
					recorder.setOutputFile("sdcard/luyin.3gp");
					recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
					try {
						recorder.prepare();
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				break;
			case TelephonyManager.CALL_STATE_OFFHOOK:
				System.out.println("摘机");
				//开始录音
				if(recorder != null){
					recorder.start();
				}
				break;

			}
		}
		
	}
	
}




<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

电话录音无限制版本

  • 2012-12-30 21:26
  • 5.13MB
  • 下载

Android之关于电话录音原理,目前的方法还是只能录MIC

对于android来讲,没有API直接支持对电话进行双向录音。 虽然MediaRecorder里面可以设置recodeRecorder.setAudioSource(MediaRecorder.Au...

网络电话录音控件

  • 2006-02-23 09:05
  • 213KB
  • 下载

单路电话录音系统C#源码

  • 2010-06-06 18:27
  • 609KB
  • 下载

Android实现电话录音功能

需求分析 电话录音是在通话的时候进行录音,所以需要使用一个服务来完成功能。 需要监听电话的状态,分为三种状态: 空闲状态 TelephonyManager.CALL_STATE_IDLE 响铃状态 ...
  • Easzz
  • Easzz
  • 2015-12-07 00:21
  • 1462

android 实现电话录音(窃听)

配置文件

Android-服务与广播实现简单电话录音

权限及配置: Ma...

android service 例子(电话录音和获取系统当前时间)

关于android service 的详解请参考: android四大组件--android service详解,下面将用两个实例具体呈现Android Service的两种实现。 一个是startS...

c# 语音卡控制--语音卡实现电话录音

虽然查了几个例子都是基于东进语音卡的,但是我想原理应该都是一样的吧! ----------------------------------------------------------------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)