2017-08-12 48 views
1

我得到这个错误,当我试图在安卓6.0的设备上运行的代码AudioFlinger无法创建记录轨迹,状态:-1错误创建AudioRecord实例:初始化校验失败,状态-1

AudioFlinger不能创建记录轨道,状态:-1创建AudioRecord时出错 实例:初始化检查失败,状态为-1。

我有这样的代码,低版本的设备上工作良好

私人无效的startRecording(){

 bufferSize = AudioRecord.getMinBufferSize(11025, 
       AudioFormat.CHANNEL_CONFIGURATION_MONO, 
       AudioFormat.ENCODING_PCM_16BIT); 


    recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, 
    11025, AudioFormat.CHANNEL_CONFIGURATION_MONO,RECORDER_AUDIO_ENCODING, 1024);//bufferSize); 

    int i = recorder.getState(); 

    if(i==1) 
    { 
    recorder.startRecording(); 
    ShowToast("Recording started successfully"); 
    } 

     isRecording = true; 

    recordingThread = new Thread(new Runnable() 
    { 

    @Override 
    public void run() 
    { 
    writeAudioDataToFile(); 
    } 
    },"AudioRecorder Thread"); 

    recordingThread.start(); 
    } 

回答

0

我假设你已经在manifest.xml中设定的<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />权限

在Android版本上,6.0音频被认为是“危险的”权限,因此您还需要在运行时通过添加代码来获得权限。关于此的说明:

https://developer.android.com/training/permissions/requesting.html

相关问题