ExoPlayer 和 MediaPlayer 引擎怎么选
引擎是什么
播放引擎是实际干活解码出声音的组件。从 1.13.1 版起,设置里出现了引擎切换,两个选项:
- ExoPlayer:谷歌推荐的新一代引擎,支持的媒体格式更广,在不同机型与安卓版本上表现更一致,且在持续维护改进
- MediaPlayer:安卓自带的轻量老引擎,行为在不同设备与系统版本上可能有差异,但个别老机型上反而更稳
平时怎么选
保持默认即可。 默认值对新机型与新格式是更优解,没有遇到问题就不需要动这个设置。
什么时候切换试试
遇到下面这类播放层面的异常时,换另一个引擎是最值得先试的一招:
- 播放卡顿、进度跳变
- 无缝播放不生效
- 某些格式放不出来
- 特定文件放一半就停
切换不需要重启应用,立即生效;听一遍之前出问题的那段音频就能验证。版本背景见 版本更新日志里的功能时间线。
与其他设置的关系
| 相关功能 | 引擎切换的影响 |
|---|---|
| 无缝播放 / Crossfade | 行为可能随引擎不同而有差异,切换后重新验证,见 无缝播放与交叉淡入淡出 |
| 变速播放 | 倍速范围不变(0.50x–3.00x),但卡顿可能改善,见 变速播放的边界与用法 |
| 格式支持 | ExoPlayer 对新格式覆盖更广,放不出的格式先切到它试试,见 支持的格式 |
| 投屏 | 投屏链路有自己的传输层,引擎只影响本地播放链路 |
还解决不了
引擎两换之后问题依旧,说明不是引擎层的事,转向 扫不出歌的完整排查 或 后台播放被系统杀掉怎么办 按现象对号入座。