我正在开发一个像Talking Tom
这样的应用程序
我尝试录制音频,保存到文件,然后在 android 中使用Mediaplayer
播放,但保存文件然后播放有点延迟。它不像Talking Tom
我看到MediaRecorder
&MediaPlayer
都接受setOutputFile
&setDataSource
中的论点FileDescriptor
。
有没有办法录制然后播放而不保存到文件?
SoundPool
& Mediaplayer
可以像byte [] buffer
这样的字节数组发声吗?
请帮忙!
AudioRecord 能够录制到缓冲区,无需保存到文件即可播放。媒体记录器,也可以录制视频,不能。http://developer.android.com/reference/android/media/AudioRecord.html
之前在stackoverflow上回答了两个相关问题:
录音 - 如何将数据放入缓冲区?
安卓音频录制到文件,然后使用音轨播放
我不知道声池是否可以与数组一起使用。我看到并遵循的示例创建了多个声池:
soundPool1 = new SoundPool(3, AudioManager.STREAM_MUSIC,0);
sound1 = soundPool1.load(getApplication(), R.raw.basskickdrum,1);
soundPoolA = new SoundPool(3, AudioManager.STREAM_MUSIC,0);
soundA = soundPoolA.load(getApplication(),R.raw.closedhighhat,1);
soundPool2 = new SoundPool(3, AudioManager.STREAM_MUSIC,0);
sound2 = soundPool2.load(getApplication(),R.raw.snare2,1);