音频渲染
作者:互联网
音频渲染
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的缓冲区中写入音频数据。
- 当数据写完或者停止播放的时候,停止播放线程,并且释放所有资源。
标签:渲染,AudioTrack,音频,API,提供,Android,播放 来源: https://blog.csdn.net/qq_34712399/article/details/105879418