try { if (isSpecialDevice()) { // 音频获取源 int audioSource = MediaRecorder.AudioSource.MIC; // 设置音频采样率,44100是目前的标准,但是某些设备仍然支持22050,16000,11025 int sampleRateInHz = 44100; // 设置音频的录制的声道CHANNEL_IN_STEREO为双声道,CHANNEL_CONFIGURATION_MONO为单声道 int channelConfig = AudioFormat.CHANNEL_IN_STEREO; // 音频数据格式:PCM 16位每个样本。保证设备支持。PCM 8位每个样本。不一定能得到设备支持。 int audioFormat = AudioFormat.ENCODING_PCM_16BIT; // 缓冲区字节大小 int bufferSizeInBytes; boolean flag; bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat); AudioRecord audioRecord = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes); //开始录制音频 try { // 防止某些手机崩溃,例如联想 audioRecord.startRecording(); } catch (IllegalStateException e) { e.printStackTrace(); } finally { /** * 根据开始录音判断是否有录音权限 */ if (audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) flag = false; else flag = true; audioRecord.stop(); audioRecord.release(); return flag; } } else { // return hasPermission(activity, Manifest.permission.RECORD_AUDIO); for (int i = 0 ; i < reqFactoryTvSendPermissions.length ; i ++){ if (ActivityCompat.checkSelfPermission(activity, reqFactoryTvSendPermissions[i]) != PackageManager.PERMISSION_GRANTED) { Log.e("权限提醒====", "没有:" +reqFactoryTvSendPermissions[i]+"----的权限-----"); ActivityCompat.requestPermissions(activity,new String[]{reqFactoryTvSendPermissions[i]},1); return false; }else { Log.e("权限提醒====", "有:" +reqFactoryTvSendPermissions[i]+"----的权限-----"); // ActivityCompat.requestPermissions(activity,requestPermissions,1); } } } } catch (Exception e) { e.printStackTrace(); for (int i = 0 ; i < reqFactoryTvSendPermissions.length ; i ++){ if (ActivityCompat.checkSelfPermission(activity, reqFactoryTvSendPermissions[i]) != PackageManager.PERMISSION_GRANTED) { Log.e("权限提醒====", "没有:" +reqFactoryTvSendPermissions[i]+"----的权限-----"); ActivityCompat.requestPermissions(activity,new String[]{reqFactoryTvSendPermissions[i]},1); return false; }else { Log.e("权限提醒====", "有:" +reqFactoryTvSendPermissions[i]+"----的权限-----"); // ActivityCompat.requestPermissions(activity,requestPermissions,1); } } return false; }
android 6.0以上获取录音权限(某些手机无法监听到录音权限)
最新推荐文章于 2024-05-16 19:06:59 发布