
AndroID的SDK(指的是Java层提供的API,对应的NDK是Native层提供的API,即C或者C++层可以调用的API)提供了3套音频播放的API,分别是:MediaPlayer、SoundPool和 AudioTrack。这三个API的使用场景各不相同,简单来说具体如下。
MediaPlayer:适合在后台长时间播放本地音乐文件或者在线的流式媒体文件,它的封装层次比较高,使用方式比较简单。SoundPool:适合播放比较短的音频片段,比如游戏声音、按键声音、铃声片段等,它可以同时播放多个音频AudioTrack:适合低延迟的播放,是更加底层的API,提供了非常强大的控制能力,适合流媒体的播放等场景,由于其属于底层API,所以需要结合解码器来使用。AndroID的NDK提供了OpenSL ES的C语言的接口,可以提供非常强大的音效处理、低延时播放等功能,比如在AndroID手机上可实现实时耳返的功能。
AudioTrack的工作流程
根据音频参数信息,配置出一个AudioTrack的实例。调用play方法,将AudioTrack切换到播放状态。启动播放线程,循环向AudioTrack的缓冲区中写入音频数据。当数据写完或者停止播放的时候,停止播放线程,并且释放所有资源。 总结以上是内存溢出为你收集整理的音频渲染全部内容,希望文章能够帮你解决音频渲染所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)