优化播放控制

This commit is contained in:
sifacai@outlook.com 2022-08-24 00:15:09 +08:00
parent ecb1c29d17
commit 22cc057347
2 changed files with 34 additions and 12 deletions

View File

@ -63,6 +63,8 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event
private PopMenu scaleTypeMenu = null; //缩放菜单 private PopMenu scaleTypeMenu = null; //缩放菜单
private PopMenu speedMenu = null; //播放速率菜单 private PopMenu speedMenu = null; //播放速率菜单
private float speedRate[] = {0.5f, 1.0f, 1.5f, 2.0f}; //倍速播放列表
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -244,6 +246,21 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event
//初始化速率键 //初始化速率键
speedBtn.setOnClickListener(this); speedBtn.setOnClickListener(this);
speedMenu = new PopMenu(this, speedBtn); speedMenu = new PopMenu(this, speedBtn);
for (int i = 0; i < speedRate.length; i++) {
PopMenu.menu menu = speedMenu.add(Type_Speed, i, i, String.valueOf(speedRate[i]));
final int Fi = i;
menu.v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
speedMenu.dismiss();
if (mediaPlayer.getRate() != speedRate[Fi]) {
mediaPlayer.setRate(speedRate[Fi]);
speedBtn.setText(String.valueOf(mediaPlayer.getRate()));
}
}
});
}
} }
private void initPlayListMenu() { private void initPlayListMenu() {
@ -303,7 +320,6 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event
audioTracksBtn.setOnClickListener(this); audioTracksBtn.setOnClickListener(this);
} }
/** /**
* 显示控制器 * 显示控制器
*/ */
@ -509,6 +525,8 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event
playListMenu.show(Utils.playIndex); playListMenu.show(Utils.playIndex);
} else if (id == R.id.scaleBtn) { } else if (id == R.id.scaleBtn) {
scaleTypeMenu.show(Utils.getVlcScaleTypeName(mediaPlayer.getVideoScale().name())); scaleTypeMenu.show(Utils.getVlcScaleTypeName(mediaPlayer.getVideoScale().name()));
} else if (id == R.id.scaleBtn) {
speedMenu.show(String.valueOf(mediaPlayer.getRate()));
} }
} }
} }

View File

@ -133,10 +133,14 @@
<TextView <TextView
android:id="@+id/speedBtn" android:id="@+id/speedBtn"
android:layout_width="@dimen/button_width" android:layout_width="wrap_content"
android:minWidth="@dimen/button_width"
android:layout_height="@dimen/button_height" android:layout_height="@dimen/button_height"
android:layout_marginLeft="@dimen/button_margin_left" android:layout_marginLeft="@dimen/button_margin_left"
android:background="@drawable/shape_user_focus" android:background="@drawable/shape_user_focus"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:gravity="center"
android:textSize="@dimen/title_size" android:textSize="@dimen/title_size"
android:focusable="true" /> android:focusable="true" />