如何在Jetpack Compose Media3 Exoplayer 1.2中启用音频卸载?
在ExoPlayer 1.2+中启用音频卸载的方法
ExoPlayer 1.2版本移除了Exoplayer.Builder.setEnableAudioOffload()方法,改用TrackSelectionParameters来配置音频卸载,具体用法分两种场景:
1. 初始化播放器时配置
直接在构建播放器实例时,通过TrackSelectionParameters.Builder设置音频卸载偏好,再传入播放器构建器:
// 创建TrackSelectionParameters并启用音频卸载偏好 val trackSelectionParams = TrackSelectionParameters.Builder() .setAudioOffloadPreference(C.PREFER_ENABLED) .build() // 构建ExoPlayer时传入该参数 val player = ExoPlayer.Builder(context) .setTrackSelectionParameters(trackSelectionParams) .build()
2. 已初始化的播放器动态修改
如果播放器已经创建完成,也可以通过buildUpon()方法修改现有参数并更新:
// 基于当前参数创建新的构建器,修改音频卸载偏好 val updatedTrackSelectionParams = player.trackSelectionParameters.buildUpon() .setAudioOffloadPreference(C.PREFER_ENABLED) .build() // 应用更新后的参数 player.trackSelectionParameters = updatedTrackSelectionParams
注意事项
音频卸载实际生效需要满足三个条件:
- 已通过
setAudioOffloadPreference设置为C.PREFER_ENABLED - 当前设备支持该音频格式的硬件卸载
- 播放的是单音频轨道(无多音轨切换场景)
内容的提问来源于stack exchange,提问作者ino
相关产品推荐
相关产品推荐

