Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法录制音频并获取消息AudioFlinger:RecordThread:缓冲区溢出_Android_Audio Recording - Fatal编程技术网

Android 无法录制音频并获取消息AudioFlinger:RecordThread:缓冲区溢出

Android 无法录制音频并获取消息AudioFlinger:RecordThread:缓冲区溢出,android,audio-recording,Android,Audio Recording,在我的应用程序中,我有一个音频部分,其中有一个录制音频的recordBtn,一个播放录制的Audiobtn,只播放录制的音频,还有一个播放曲目(音乐音频)的playTrackBtn 当我单击录制BTN和播放TrackBTN时,录制的音频必须具有我录制的内容和曲目歌曲,但未录制我想要的内容,并在logcat中显示消息 11-16 04:40:24.060:WARN/AudioFlinger(90):RecordThread:缓冲区溢出 我录制的音频代码如下: new Thread(recordin

在我的应用程序中,我有一个音频部分,其中有一个录制音频的recordBtn,一个播放录制的Audiobtn,只播放录制的音频,还有一个播放曲目(音乐音频)的playTrackBtn

当我单击录制BTN和播放TrackBTN时,录制的音频必须具有我录制的内容和曲目歌曲,但未录制我想要的内容,并在logcat中显示消息

11-16 04:40:24.060:WARN/AudioFlinger(90):RecordThread:缓冲区溢出

我录制的音频代码如下:

new Thread(recordingThread).start(); // called thread from onCreate

private Runnable recordingThread = new Runnable() {

        @Override
        public void run() {
            try {
                startRecording();
            } catch (Exception e) {
                Log.d("error:", "" + e.getMessage());
            }
        }

    };

public void startRecording() throws IOException {

        String state = android.os.Environment.getExternalStorageState();

        if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {

            Toast.makeText(MainActivity.this,
                    "SD Card is not mounted.  It is " + state + ".",
                    Toast.LENGTH_SHORT).show();

        } else {

            String dirPath = Environment.getExternalStorageDirectory()
                    .getAbsolutePath();

            songTakePath = dirPath + "/SongWriters_Pad/"
                    + title_view.getText().toString() + "-Take-" + count
                    + ".wav";

            recorder = new MediaRecorder();
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

            recorder.setAudioEncodingBitRate(16);
            recorder.setAudioSamplingRate(44100);


            recorder.setOutputFile(songTakePath);

            try {
                recorder.prepare();
            } catch (Exception e) {
                e.printStackTrace();
            }

            recorder.start();
}}
请提供任何指导和一些代码片段。
谢谢。

您在真实设备中试用过吗?当我录制声音时,它被清晰地录制下来,但我播放曲目,曲目正在播放。问题是当我必须录制我的声音和播放曲目时。