使用搜索栏控制Exoplayer的音量

时间:2015-07-27 09:32:35

标签: android class volume seekbar exoplayer

我正在尝试使用搜索栏来控制Exoplayer isntance的音量,这是在我的项目中传输DASH。 我遇到的问题是我的渲染器和播放器在演示项目的类之间分开。 目前我的三个主要类是我的DashRendererBuilder和播放器和播放器活动。 我在我的播放器活动中有我的搜索栏,我想知道如何在我的PlayerActivity中引用必要的播放器和渲染器以控制我的Exoplayer的音量。

从过去的问题我被告知

exoPlayer.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 0.1f);

是我要发送的结束消息,但正如我所说,由于所有类在类之间分开,我在引用单个组件时遇到问题。

理想情况下,我希望能够有两个exoplayer实例,其中一个搜索栏控制两者的混合,这是我的最终目标。

获得一些反馈或指出正确的方向来解决这个问题会很棒,所以非常感谢任何和所有的帮助。非常感谢你们!

1 个答案:

答案 0 :(得分:5)

AudioManager有助于处理系统卷。要使用ExoPlayer控制音量,只需使用:

创建AudioManager对象:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

使用Seekbar处理音量:

volumeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                audioManager.setStreamVolume(exoPlayer.getAudioStreamType(), i, 0);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

如果你想处理硬件音量增加/减少键+ Seekbar,那么只需检查我的answer