gpt4 book ai didi

android - 如何在 Android 中为 ExoPlayer 设计自定义搜索栏和音量控制

转载 作者:太空狗 更新时间:2023-10-29 16:14:18 28 4
gpt4 key购买 nike

我试过了thisthis为 ExoPlayer 设计自定义搜索栏,但运气不好。

我想为 ExoPlayer 设计自定义拇指和 ProgressBar。以下是 ExoPlayer 的 XML,我试图在其中放置搜索栏,但它没有按预期出现。

<com.google.android.exoplayer.AspectRatioFrameLayout
android:id="@+id/video_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">

<SurfaceView
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>

<View
android:id="@+id/shutter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@drawable/thumb"/>

<com.google.android.exoplayer.text.SubtitleLayout
android:id="@+id/subtitles"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</com.google.android.exoplayer.AspectRatioFrameLayout>

还有一个问题是,我如何才能像在 MXPlayer 中那样为 ExoPlayer 设置自定义音量控制? (音量竖条)。

更新

我用这个方法得到了 SeekBar

SeekBar seekBar = (SeekBar) mediaController.findViewById(getResources().getIdentifier("mediacontroller_progress","id","android"));
seekBar.setThumb(getResources().getDrawable(R.drawable.player_thumb));

现在唯一的事情就是获得像MXPlayer这样的垂直音量控制。 .

最佳答案

AudioManager有助于处理系统音量。我已经实现水平音量 Seekbar 以使用 ExoPlayer 控制音频音量。只需使用这个:

创建 AudioManager 对象:

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

处理音量增大/减小硬件按钮:

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN){
volumeSeekBar.setProgress(audioManager.getStreamVolume(exoPlayer.getAudioStreamType()));
}
return super.onKeyDown(keyCode, event);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP){
volumeSeekBar.setProgress(audioManager.getStreamVolume(exoPlayer.getAudioStreamType()));
}
return super.onKeyUp(keyCode, event);
}

使用 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) {

}
});

关于android - 如何在 Android 中为 ExoPlayer 设计自定义搜索栏和音量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34408529/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com