Android AudioTrack分析
2021/6/26 23:58:04
本文主要是介绍Android AudioTrack分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 使用
1.1 音频参数
音频播放时有一些基本音频参数,包括[音频流类型、采样率、声道数、格式]
这些参数在Java层有定义,同时在system/media/audio/include/system/audio.h中有对应的定义
1.2 使用实例
AudioTrack mAudioTrack; int mBufferSizeInBytes = AudioTrack.getMinBufferSize(SAMPLE_RATE, CHANNEL, AUDIO_FORMAT); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { mAudioTrack = new AudioTrack.Builder() .setAudioAttributes(new AudioAttributes.Builder() .setUsage(AudioAttributes.USAGE_MEDIA) .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC) .setLegacyStreamType(AudioManager.STREAM_MUSIC) .build()) .setAudioFormat(new AudioFormat.Builder() .setEncoding(AUDIO_FORMAT) .setSampleRate(SAMPLE_RATE) .setChannelMask(CHANNEL) .build()) .setTransferMode(AudioTrack.MODE_STREAM) .setBufferSizeInBytes(mBufferSizeInBytes) .build(); } else { mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, SAMPLE_RATE, CHANNEL, AUDIO_FORMAT, mBufferSizeInBytes, AudioTrack.MODE_STREAM); } mAudioTrack.play(); mAudioTrack.write(bytes, 0, len); mAudioTrack.stop(); mAudioTrack.release();
2. 流程
参考:
<AudioTrack的Play流程>
<AudioTrack学习笔记>
这篇关于Android AudioTrack分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享