我正在尝试构建一个记录声音然后播放的应用程序。录音部分工作得很好,但是当我尝试重放声音时它什么也没做。当我在调试器中运行它并逐步执行播放音频的步骤时,它可以工作。当我删除所有断点并在调试中运行程序时,它没有。
该问题可能是由在后台完成的某些事情引起的,并且在我尝试运行音频之前未完成,但我并不完全确定。
任何帮助将不胜感激。
以下是源代码的相关部分。
创建音池
mSoundPool = new SoundPool(16, AudioManager.STREAM_MUSIC, 0);
从音池播放
int soundId = mSoundPool.load(mAudioRecorder.stop(), 0);
if(soundId > 0){
mSoundPool.play(soundId, 0.99f, 0.99f, 0, -1, 1.0f);
}
Audiorecorder.java 输出文件是 .mp4
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
public String stop() throws IOException {
mRecorder.stop();
return mPath;
}