关闭

判断Android手机是否有录音权限

6623人阅读 评论(4) 收藏 举报
分类:

判断手机是否有录音权限的工具类,兼容6.0以上以及以下android系统

package com.qhcloud.home.utils;

import android.content.Context;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;

/**
 * Function:判断录音权限,兼容android6.0以下以及以上系统
 * Created by xuzhuyun on 2017/1/19.
 */

public class CheckAudioPermission {
    // 音频获取源
    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 isHasPermission(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();
        }
        /**
         * 根据开始录音判断是否有录音权限
         */
        if (audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) {
            return false;
        }
        audioRecord.stop();
        audioRecord.release();
        audioRecord = null;

        return true;
    }
}


2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

android手机 录音权限是否打开的检测

6.0之前的权限检测只是检测到是否在清单文件中注册 boolean flag = (PackageManager.PERMISSION_GRANTED ==  pm.checkPermission("...
  • joshua_love
  • joshua_love
  • 2016-10-08 13:46
  • 4342

Android录音权限被禁解决方案

前言在科比最后一次告别演出的日子,写此博客致敬伟大的球员,或许NBA会再次出现和科比一样伟大的球员,但我们再也没有第二个青春去追随。 好了,不废话了,大家在做Android录音的时候会碰到权限被禁止...
  • oMrApollo
  • oMrApollo
  • 2016-04-14 11:36
  • 16246

判断Android手机(OPPO手机)是否有录音权限兼容6.0以下

项目中遇到老的OPPO手机5.1的版本,出现明明拒绝了录音权限,但是回调依然是true,自从6.0之后出了运行时权限,获取权限的方式就变得统一化了,首先在清单文件配置需要的权限,然后使用时拍照或者录音...
  • panghaha12138
  • panghaha12138
  • 2018-01-11 17:31
  • 56

android手机 录音权限是否打开的检测

6.0之前的权限检测只是检测到是否在清单文件中注册 boolean flag = (PackageManager.PERMISSION_GRANTED ==  pm.checkPermission("...
  • joshua_love
  • joshua_love
  • 2016-10-08 13:46
  • 4342

Android手机录音

  • 2014-08-12 10:07
  • 50KB
  • 下载

嘿嘿这个好玩---新型Android手机病毒现身 可对通话过程录音

据美国科技杂志《网络世界》(Network World)网络版报道,一种针对谷歌Android智能手机的新型病毒已经现身,它能在用户毫不知情状态下对通话过程进行录音。安全专家指出,此类病毒的出现,也意...
  • jasontome
  • jasontome
  • 2011-08-03 09:23
  • 320

Android手机root权限必用命令

  • 2012-10-20 09:47
  • 79KB
  • 下载

Android手机监视网络状态的变化--关于权限的一个小问题

手机切换网络状态,弹出吐司,提示网络状态发生变化。问题出现在每当切换状态,程序就会崩溃
  • PLUSLEELED
  • PLUSLEELED
  • 2016-12-23 18:05
  • 433

pc上使用有root权限的adb shell命令来操作android手机

将android手机连接pc后(手机需要开启usb调试模式),再使用pc上的adb shell操作android手机会非常方便,因为可以使用类似于ubuntu的大多数命令,相信用过的都知道,哈哈,不过...
  • JiYiDeShuiJing
  • JiYiDeShuiJing
  • 2015-04-20 13:05
  • 1605

Android手机的所需的一些权限

<instrumentation android:name="android.test.Instrumentat
  • liuqiang211
  • liuqiang211
  • 2015-06-02 19:49
  • 229
    个人资料
    • 访问:601863次
    • 积分:9348
    • 等级:
    • 排名:第2278名
    • 原创:318篇
    • 转载:125篇
    • 译文:0篇
    • 评论:74条
    个人联系方式
    加入我的QQ群
    文章分类
    最新评论