从缓冲区播放音频
我想从缓冲区播放音频。 比如使用 AudioRecord 将音频录制到缓冲区并播放 它来自缓冲区。
有办法做到吗? 在 MediaPlayer 中没有这样的选项。
I want to play audio from a buffer.
Something like using the AudioRecord to record the audio into buffer and play
it from the buffer.
Is there a way of doing it?
In the MediaPlayer there is no such option.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 AudioTrack 类来执行此操作。它的接口与
AudioRecord
非常相似,除了AudioTrack
只能使用byte[]
和short[ 类型的缓冲区]
。You can do this with the AudioTrack class. Its interface is very similar to that of
AudioRecord
, except that theAudioTrack
can only use buffers of typebyte[]
andshort[]
.您可以使用此处解决方案中所述的临时文件:
Android - Playing mp3 from byte[]
或者如果您的文件来自互联网(例如通过 URL 引用),您可以使用
setDataSource(Context context, Uri uri)
。同一问题中提出的
You may use temp file as described in solution here:
Android - Playing mp3 from byte[]
or if your file comes from the internet (referenced by URL for example), you may use:
setDataSource(Context context, Uri uri)
presented in the same question.