From b53d8130741112a45e0959e2a6ac98d7e052d654 Mon Sep 17 00:00:00 2001 From: sifacaii Date: Fri, 2 Sep 2022 19:12:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A1=AC=E4=BB=B6=E8=A7=A3?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/sifacai/vlcjellyfin/BaseActivity.java | 25 +++++++++++++------ .../vlcjellyfin/VlcPlayerActivity.java | 7 +----- app/src/main/res/menu/activebar_menu.xml | 7 +++--- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java index 26e0c0f..969667b 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java @@ -55,23 +55,32 @@ public class BaseActivity extends AppCompatActivity implements CustomAdapt { //actionBar设置菜单 actionBarSetBtn = findViewById(R.id.actionBar_setBtn); - actionBarSetBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - settingMenu.show(); - } - }); + actionBarSetBtn.setOnClickListener(actionBarSetBtnOnclick); settingMenu = new PopupMenu(this,actionBarSetBtn); 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 public boolean onMenuItemClick(MenuItem menuItem) { if(menuItem.getItemId() == R.id.activeBar_option_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; } diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java index 6d2ea20..aee95e2 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java @@ -5,7 +5,6 @@ import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; -import android.os.Message; import android.util.Log; import android.view.KeyEvent; import android.view.View; @@ -13,20 +12,16 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; -import android.widget.RelativeLayout; import android.widget.SeekBar; import android.widget.TextView; import org.videolan.libvlc.LibVLC; import org.videolan.libvlc.Media; -import org.videolan.libvlc.MediaFactory; import org.videolan.libvlc.MediaPlayer; import org.videolan.libvlc.util.VLCVideoLayout; import java.util.ArrayList; import java.util.List; -import java.util.Timer; -import java.util.TimerTask; public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.EventListener , View.OnClickListener { @@ -420,7 +415,7 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event private Media getMedia(){ Uri uri = Uri.parse(currItem.Url); 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(":start-time=${start/1000L}"); //设置开始位置 return media; diff --git a/app/src/main/res/menu/activebar_menu.xml b/app/src/main/res/menu/activebar_menu.xml index e4f40f8..00459bd 100644 --- a/app/src/main/res/menu/activebar_menu.xml +++ b/app/src/main/res/menu/activebar_menu.xml @@ -2,19 +2,20 @@ \ No newline at end of file