简体   繁体   English

Android AudioRecord初始化失败

[英]Android AudioRecord initialization failed

I'm creating application for Android that listen phone call. 我正在为Android创建监听电话的应用程序。 Problem is that initialization fail. 问题是初始化失败。

My log: 我的日志:

E/AudioRecord﹕ Could not get audio input for record source 3
E/AudioRecord-JNI﹕ Error creating AudioRecord instance: initialization check failed.
E/android.media.AudioRecord﹕ Error code -20 when initializing native AudioRecord object.

My code: 我的代码:

public AudioRecord recorder;

private int sampleRate = 16000;
private int channelConfig = AudioFormat.CHANNEL_IN_MONO;
private int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
int minBufSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);

recorder = new AudioRecord(MediaRecorder.AudioSource.VOICE_DOWNLINK, sampleRate, channelConfig, audioFormat, minBufSize * 10);
recorder.startRecording();

EDIT: I want only DOWNLINK 编辑:我只想要下载

You should use MediaRecorder instade of AudioRecord, Hear is one example for record audio and save in your sdCard. 您应该使用AudioRecord的MediaRecorder安装,Hear是记录音频并将其保存在sdCard中的一个示例。

    MediaRecorder myAudioRecorder;
    outputFile = Environment.getExternalStorageDirectory().getAbsolutePath()    + "/recording.3gp";
    myAudioRecorder=new MediaRecorder();
    myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    myAudioRecorder.setOutputFile(outputFile);

You could Start recording on button click event using below code 您可以使用以下代码开始记录按钮单击事件

           try {
                myAudioRecorder.prepare();
                myAudioRecorder.start();
            }

            catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM