如何从Exoplayer获取audiosessionId?

hun*_*ghd 2 media android exoplayer

我正在尝试在我的项目中使用Exoplayer(而不是Android的MediaPlayer)。但是,我有一个问题:获取当前音频会话的ID。使用传统的MediaPlayer,可以通过调用getAudioSessionId轻松实现,但是Exoplayer没有任何相应的方法。有人帮我吗?

Mdl*_*dlc 5

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


编辑:

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
    }
});
Run Code Online (Sandbox Code Playgroud)