我正在使用 AndroidX media3 组件,并让它播放互联网广播音频流(MP3/FLAC/HLS/MP4 等)。我想在我的 Android 应用程序的 UI 中显示编解码器和比特率,但是我无法找到从哪里开始,我已经查看了文档,也查看了我的应用程序中可用的界面,但没有找到非常满意。
我最接近的东西来自播放器提供的 getAudioFormat 接口。
player.getAudioFormat().sampleMimeType
这有效,我可以计算出编解码器类型,但是以下代码不起作用,并且始终返回-1
player.getAudioFormat().sampleRate
player.getAudioFormat().averageBitrate
player.getAudioFormat().bitrate
我想,我的问题是双重的:
1/我是否正确地解决了这个问题,如上所述,如果是的话,这是否是一个错误,其中未显示比特率。 2/如果不是,实现我想要做的事情的正确方法是什么?
您需要创建
AnalyticsListener
。您将收到一个 onTracksChanged
事件,它具有带有可用轨道的 Tracks
对象。每个轨道都有一种格式,该格式包含有关编解码器的信息。
https://developer.android.com/reference/androidx/media3/common/Format#codecs()