5.0系统录音权限
来源:互联网 发布:ubuntu 12.04 源 编辑:程序博客网 时间:2024/05/21 11:07
http://blog.csdn.net/self_study/article/details/52965045
public class AudioPermissionCheckUtils { private static final String TAG = "AudioPermissionCheckUtils"; // 音频获取源 public static int audioSource = MediaRecorder.AudioSource.MIC; // 设置音频采样率,44100是目前的标准,但是某些设备仍然支持22050,16000,11025 public static int sampleRateInHz = 44100; // 设置音频的录制的声道CHANNEL_IN_STEREO为双声道,CHANNEL_CONFIGURATION_MONO为单声道 public static int channelConfig = AudioFormat.CHANNEL_IN_STEREO; // 音频数据格式:PCM 16位每个样本。保证设备支持。PCM 8位每个样本。不一定能得到设备支持。 public static int audioFormat = AudioFormat.ENCODING_PCM_16BIT; // 缓冲区字节大小 public static int bufferSizeInBytes = 0; /** * 判断是是否有录音权限 */ public static boolean checkAudioPermission(final Context context) { bufferSizeInBytes = 0; bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat); AudioRecord audioRecord = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes); //开始录制音频 try{ // 防止某些手机崩溃,例如联想 audioRecord.startRecording(); }catch (IllegalStateException e){ e.printStackTrace();// AVLogUtils.e(TAG, Log.getStackTraceString(e)); } /** * 根据开始录音判断是否有录音权限 */ if (audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING && audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED) {// AVLogUtils.e(TAG, "audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING : " + audioRecord.getRecordingState()); return false; } if (audioRecord.getRecordingState() == AudioRecord.RECORDSTATE_STOPPED) { //如果短时间内频繁检测,会造成audioRecord还未销毁完成,此时检测会返回RECORDSTATE_STOPPED状态,再去read,会读到0的size,可以更具自己的需求返回true或者false return false; } byte[] bytes = new byte[1024]; int readSize = audioRecord.read(bytes, 0, 1024); if (readSize == AudioRecord.ERROR_INVALID_OPERATION || readSize <= 0) {// AVLogUtils.e(TAG, "readSize illegal : " + readSize); return false; } audioRecord.stop(); audioRecord.release(); audioRecord = null; return true; }}
此方法可以监听到权限的赋予和拒绝
阅读全文
0 0
- 5.0系统录音权限
- 科大讯飞 无录音权限
- android 权限录音权限检测
- 【Android】5.0录音权限处理时遇到的问题
- ios7-录音权限访问-AVAudioSession
- ios7-录音权限访问-AVAudioSession
- ios 后台录音权限设置
- android 开发录音那些事(录音权限授权及判断录音权限是否拒绝处理)
- 检测录音程序是否被禁用 录音权限
- 检测录音程序是否被禁用 录音权限
- 完美解决录音权限问题并附上录音代码
- qt android录音程序添加 Android 权限
- IOS开发 录音权限访问-AVAudioSession
- android判断是否禁用了录音权限
- Android录音权限被禁解决方案
- Android 录音和摄像头权限适配
- 判断Android手机是否有录音权限
- Android 判断是否有录音权限
- Kettle资源库采用SQLserver数据库需要注意的点
- windows server2012部署Cognos问题小结
- 双服务+时间广播和屏幕广播实现Android App保活
- Cognos由于JAVA_HOME冲突引起的错误假象
- Word标题无法降级别
- 5.0系统录音权限
- SSAS建模遇到的问题集锦
- Oracle 11g导入导出命令
- Session是怎么实现的?存储在哪里?
- SSIS连接Oracle遇到的问题
- HTML img图片出现下边距的解决方法
- 未来,谁在革通信设备商的命?
- 移动APP接口遇到的一些小问题
- U深度利用iso文件制作U盘启动盘