Android 听筒模式和扬声器模式切换的 实现
http://www.2cto.com/kf/201312/263642.html
step 1,在AndroidManifest文件中添加权限声明
<uses-permission android:name=
"android.permission.MODIFY_AUDIO_SETTINGS"
></uses-permission>
step 2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
package com.markjoker.sensortest;
import java.io.FileInputStream;
import java.io.IOException;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity implements SensorEventListener {
private AudioManager audioManager;
private SensorManager mSensorManager;
private Sensor mSensor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
audioManager = (AudioManager) this
.getSystemService(Context.AUDIO_SERVICE);
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
MediaPlayer mPlayer = new MediaPlayer();
try {
mPlayer.reset();
mPlayer.setDataSource( new FileInputStream( "/sdcard/snow.mp3" ).getFD());
mPlayer.prepare();
mPlayer.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void onResume() {
mSensorManager.registerListener( this , mSensor,
SensorManager.SENSOR_DELAY_NORMAL);
super .onResume();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
mSensorManager.unregisterListener( this );
super .onPause();
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float range = event.values[ 0 ];
if (range == mSensor.getMaximumRange()) {
Toast.makeText( this , "正常模式" , Toast.LENGTH_LONG).show();
audioManager.setMode(AudioManager.MODE_NORMAL);
} else {
Toast.makeText( this , "听筒模式" , Toast.LENGTH_LONG).show();
audioManager.setMode(AudioManager.MODE_IN_CALL);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
}
|
Android 听筒模式和扬声器模式切换的 实现相关推荐
- Android听筒模式不同版本兼容
5.0以前Android听筒模式和扬声器模式这样就管用 扬声器: //关闭麦克风 mAudioManager.setMicrophoneMute(false); ...
- Android Receiver(听筒模式和扬声器模式,铃音模式)
Android Receiver(听筒模式和扬声器模式,铃音模式) 2014年10月31日 09:45:56 老司机s 阅读数:13082 版权声明:本文为博主原创文章,未经博主允许不得转载.Andr ...
- Android听筒模式和免提模式的切换
听筒和免提的切换并不是一句简单的setSpeakerphoneOn /*** 外放模式和听筒模式 切换** @param on*/private void changeToincall(boolean ...
- android 听筒模式外放模式的切换,YY项目之Android 听筒 扬声器 切换
废话不多说,直接上代码: private void setSpeakerphoneOn(boolean on) { if (on) { // 为true打开喇叭扩音器:为false关闭喇叭扩音器. a ...
- CoreAudio实现录音播音和扬声器听筒模式的切换
本例子使用Core Audio实现类似于微信的音频对讲功能,可以录音和播放并且实现了听筒模式和扬声器模式的切换.录音主要使用AVAudioRecorder类来实现录音功能,播放则使用AVAudioPl ...
- Android5.0版本之后切换听筒模式
5.0以前Android听筒模式和扬声器模式这样就管用 扬声器: //关闭麦克风 mAudioManager.setMicrophoneMute(false); // 打开扬声器 mAud ...
- android 设置听筒模式切换,Android开发【06-29视频贴】切换听筒模式部分手机失效,怎么解决?...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就是我做的是一个可以切换手机听筒模式和扬声器模式的APP,在其他手机上可以正常切换,但是在华为手机上切换失败,是什么原因? 是不是华为手机又其他方式?希望 ...
- android关闭听筒模式,Android开发【06-29视频贴】切换听筒模式部分手机失效,怎么解决?...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就是我做的是一个可以切换手机听筒模式和扬声器模式的APP,在其他手机上可以正常切换,但是在华为手机上切换失败,是什么原因? 是不是华为手机又其他方式?希望 ...
- android开发 听筒模式,Android开发【06-29视频贴】切换听筒模式部分手机失效,怎么解决?...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就是我做的是一个可以切换手机听筒模式和扬声器模式的APP,在其他手机上可以正常切换,但是在华为手机上切换失败,是什么原因? 是不是华为手机又其他方式?希望 ...
最新文章
- 四次面试:程序员越来越悲催了
- WIN7添加loopback接口
- Java学习笔记之:Java JDBC
- WINDOWS2003域控制器禁止U盘
- ROS多根adsl叠加负载均衡PCC的做法
- Laravel POST请求API接口 使用validate表单验证返回欢迎页
- 线性代数 第一章 行列式
- 制作Python的安装模块
- 解决Apache/PHP无法启动的问题
- 前端学习(3245):react的生命周期getDeriveStateFromProps
- Vue 快速集成ElementUI
- php apache 多进程,php多进程 防止出现僵尸进程 如何 使 apache 成为 僵尸进程
- 初学Java必须知道的几件事
- excel2007 设置点击单元格设置默认值
- web zxr10 中兴 路由器_中兴 ZXR10与思科路由器互联问题-路由器
- 《朱子治家格言》原文
- 小程序上线后部分图片不显示的问题
- 面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决?
- Centos6.5离线安装中文输入法
- 面试官问:颜色转换 'rgb(255, 255, 255)' - '#FFFFFF' 的多种思路
热门文章
- 农村小学计算机教育论文,浅谈小学信息技术教学
- Zepto中文API
- 小米 13和iQOO 11区别 参数对比评测
- 利用python读取excel中的公司名称获取公司的经营范围并回填进excel中
- 武田收到CHMP肯定意见,推荐ALUNBRIG(R) (brigatinib)用于治疗既往用过克唑替尼的ALK+非小细胞肺癌患者
- 苹果cmsV10 会员收费设置 会员VIP权限设置教程
- python中用pip安装出现Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build Tools
- 两年后,我仍然想念耳机端口
- matlab的三维矩阵含义
- 汇编语言实验——SYAU