添加硬件解码设置菜单

This commit is contained in:
sifacaii 2022-09-02 19:12:18 +08:00
parent 1e21d0beaf
commit b53d813074
3 changed files with 22 additions and 17 deletions

View File

@ -55,23 +55,32 @@ public class BaseActivity extends AppCompatActivity implements CustomAdapt {
//actionBar设置菜单 //actionBar设置菜单
actionBarSetBtn = findViewById(R.id.actionBar_setBtn); actionBarSetBtn = findViewById(R.id.actionBar_setBtn);
actionBarSetBtn.setOnClickListener(new View.OnClickListener() { actionBarSetBtn.setOnClickListener(actionBarSetBtnOnclick);
@Override
public void onClick(View view) {
settingMenu.show();
}
});
settingMenu = new PopupMenu(this,actionBarSetBtn); settingMenu = new PopupMenu(this,actionBarSetBtn);
settingMenu.getMenuInflater().inflate(R.menu.activebar_menu,settingMenu.getMenu()); settingMenu.getMenuInflater().inflate(R.menu.activebar_menu,settingMenu.getMenu());
settingMenu.setOnMenuItemClickListener(actionBarSetBtnOnclick); settingMenu.setOnMenuItemClickListener(settingMenuItemOnclick);
} }
} }
private PopupMenu.OnMenuItemClickListener actionBarSetBtnOnclick = new PopupMenu.OnMenuItemClickListener() { private View.OnClickListener actionBarSetBtnOnclick = new View.OnClickListener() {
@Override
public void onClick(View view) {
settingMenu.show();
Menu setmenu = settingMenu.getMenu();
setmenu.findItem(R.id.actionBar_option_HAACC).setChecked(JfClient.config.isHAACC());
setmenu.findItem(R.id.actionBar_option_FORCE_HAACC).setChecked(JfClient.config.isFORCE_HAACC());
}
};
private PopupMenu.OnMenuItemClickListener settingMenuItemOnclick = new PopupMenu.OnMenuItemClickListener() {
@Override @Override
public boolean onMenuItemClick(MenuItem menuItem) { public boolean onMenuItemClick(MenuItem menuItem) {
if(menuItem.getItemId() == R.id.activeBar_option_logout){ if(menuItem.getItemId() == R.id.activeBar_option_logout){
logout(); logout();
}else if(menuItem.getItemId() == R.id.actionBar_option_HAACC){
JfClient.config.setHAACC(!JfClient.config.isHAACC());
}else if(menuItem.getItemId() == R.id.actionBar_option_FORCE_HAACC){
JfClient.config.setFORCE_HAACC(!JfClient.config.isFORCE_HAACC());
} }
return true; return true;
} }

View File

@ -5,7 +5,6 @@ import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
@ -13,20 +12,16 @@ import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.SeekBar; import android.widget.SeekBar;
import android.widget.TextView; import android.widget.TextView;
import org.videolan.libvlc.LibVLC; import org.videolan.libvlc.LibVLC;
import org.videolan.libvlc.Media; import org.videolan.libvlc.Media;
import org.videolan.libvlc.MediaFactory;
import org.videolan.libvlc.MediaPlayer; import org.videolan.libvlc.MediaPlayer;
import org.videolan.libvlc.util.VLCVideoLayout; import org.videolan.libvlc.util.VLCVideoLayout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.EventListener public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.EventListener
, View.OnClickListener { , View.OnClickListener {
@ -420,7 +415,7 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event
private Media getMedia(){ private Media getMedia(){
Uri uri = Uri.parse(currItem.Url); Uri uri = Uri.parse(currItem.Url);
Media media = new Media(libVLC,uri); Media media = new Media(libVLC,uri);
media.setHWDecoderEnabled(true,false); media.setHWDecoderEnabled(JfClient.config.isHAACC(),JfClient.config.isFORCE_HAACC());
//media.addOption(":codec=mediacodec_ndk,mediacodec_jni,none"); //硬件加速 //media.addOption(":codec=mediacodec_ndk,mediacodec_jni,none"); //硬件加速
//media.addOption(":start-time=${start/1000L}"); //设置开始位置 //media.addOption(":start-time=${start/1000L}"); //设置开始位置
return media; return media;

View File

@ -2,19 +2,20 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item <item
android:id="@+id/actionBar_option_HAACC" android:id="@+id/actionBar_option_HAACC"
android:orderInCategory="1" android:orderInCategory="0"
android:checkable="true" android:checkable="true"
android:title="硬解解码" /> android:title="硬解解码" />
<item <item
android:id="@+id/actionBar_option_FORCE_HAACC" android:id="@+id/actionBar_option_FORCE_HAACC"
android:orderInCategory="2" android:orderInCategory="1"
android:checkable="false" android:checkable="true"
android:title="强制硬解解码" /> android:title="强制硬解解码" />
<item <item
android:id="@+id/activeBar_option_logout" android:id="@+id/activeBar_option_logout"
android:orderInCategory="9" android:orderInCategory="9"
android:checkable="true"
android:title="注销" /> android:title="注销" />
</menu> </menu>