android - 如何从 Exoplayer 获取 audiosessionId?

标签 android media exoplayer

我正在尝试在我的项目中使用 Exoplayer(而不是 Android 的 MediaPlayer)。但是,我有一个问题:获取当前 Audio Session 的 ID。传统的MediaPlayer调用getAudioSessionId就很简单,Exoplayer没有对应的方法。有人帮帮我吗?

最佳答案

从 ExoPlayer2 开始,MediaCodecAudioTrackRendererPlayerControl 不能再用于获取 AudioSessionId。相反,您应该在 exoPlayer 实例上设置一个 AudioRendererEventListener


编辑:

AudioRendererEventListener 现已弃用。请改用 AnalyticsListener

exoplayer.addAnalyticsListener(new AnalyticsListener() {
    /**
     * Called when the audio session id is set.
     *
     * @param eventTime      The event time.
     * @param audioSessionId The audio session id.
     */
    @Override
    public void onAudioSessionId(EventTime eventTime, int audioSessionId) {
         // do something with audioSessionId
    }
});

关于android - 如何从 Exoplayer 获取 audiosessionId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33559318/

相关文章:

android - Android 中的 javax.mail.AuthenticationFailedException

android - marginTop 和 marginBottom 不适用于 LinearLayout

algorithm - 如何寻找具有可变比特率(VBR)的音频/视频数据?

java - Exoplayer ui分屏添加双击前进/后退循环效果

java - 如何在 windows 下将 Ffmpeg 扩展嵌入到 Exoplayer 中?

Android 软件 NDK native c 代码在实际 Android 手机上的分析

android - 如何创建弹出菜单作为另一个弹出菜单菜单项的子菜单

django - 在提供 secret 媒体文件时,Web 应用程序应如何确保安全?

java - Android Java - 将 R.raw 中的所有文件名放入数组中,无需手动指定每个文件名

android - ExoPlayer 停止在后台播放