Alsa:播放可变比特率mp3文件

Alsa:播放可变比特率mp3文件

使用 ALSA 播放 mp3 文件时,使用 libmad 解码 mp3 文件,libmad 通过回调提供每个 mp3 帧的采样率和位深度mad_header

虽然在开始时使用设置ALSA参数snd_pcm_hw_params_set,但下一帧的采样率和比特率可能会发生变化,需要重置才能正常播放。

问题:

  • 1 是否应该为每一帧重新设置采样率和比特率(或者在它们改变时进行最佳设置)?
  • 2 如果问题#1 的答案是“是”,这会中断播放吗?以及如何处理它以避免故障和额外的 CPU 负载
  • 3 如果问题#1 的答案是否定的,这将如何影响播放质量以及要保持哪个比特率/采样率才能获得更好的播放体验?

相关内容