如何使用 androidX media3 库从互联网流中提取编解码器和比特率?

问题描述 投票:0回答:1

我正在使用 AndroidX media3 组件,并让它播放互联网广播音频流(MP3/FLAC/HLS/MP4 等)。我想在我的 Android 应用程序的 UI 中显示编解码器和比特率,但是我无法找到从哪里开始,我已经查看了文档,也查看了我的应用程序中可用的界面,但没有找到非常满意。

我最接近的东西来自播放器提供的 getAudioFormat 接口。

player.getAudioFormat().sampleMimeType 

这有效,我可以计算出编解码器类型,但是以下代码不起作用,并且始终返回-1

player.getAudioFormat().sampleRate
player.getAudioFormat().averageBitrate
player.getAudioFormat().bitrate

我想,我的问题是双重的:

1/我是否正确地解决了这个问题,如上所述,如果是的话,这是否是一个错误,其中未显示比特率。 2/如果不是,实现我想要做的事情的正确方法是什么?

android androidx android-media3
1个回答
0
投票

您需要创建

AnalyticsListener
。您将收到一个
onTracksChanged
事件,它具有带有可用轨道的
Tracks
对象。每个轨道都有一种格式,该格式包含有关编解码器的信息。

https://developer.android.com/reference/androidx/media3/common/Format#codecs()

© www.soinside.com 2019 - 2024. All rights reserved.