diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java index 969667b..8ff6b53 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/BaseActivity.java @@ -67,6 +67,7 @@ public class BaseActivity extends AppCompatActivity implements CustomAdapt { public void onClick(View view) { settingMenu.show(); Menu setmenu = settingMenu.getMenu(); + setmenu.findItem(R.id.actionBar_option_PlayStartInBegin).setChecked(JfClient.config.isPlayStartInBegin()); setmenu.findItem(R.id.actionBar_option_HAACC).setChecked(JfClient.config.isHAACC()); setmenu.findItem(R.id.actionBar_option_FORCE_HAACC).setChecked(JfClient.config.isFORCE_HAACC()); } @@ -81,6 +82,8 @@ public class BaseActivity extends AppCompatActivity implements CustomAdapt { JfClient.config.setHAACC(!JfClient.config.isHAACC()); }else if(menuItem.getItemId() == R.id.actionBar_option_FORCE_HAACC){ JfClient.config.setFORCE_HAACC(!JfClient.config.isFORCE_HAACC()); + }else if(menuItem.getItemId() == R.id.actionBar_option_PlayStartInBegin){ + JfClient.config.setPlayStartInBegin(!JfClient.config.isPlayStartInBegin()); } return true; } diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/Config.java b/app/src/main/java/org/sifacai/vlcjellyfin/Config.java index 655a2f8..4f24498 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/Config.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/Config.java @@ -10,9 +10,19 @@ public class Config { private String PassWord = ""; private String SortBy = "DateCreated"; private String SortOrder = "Descending"; + private boolean PlayStartInBegin; //是否从头开始播放 (接上次播放进度) private boolean HAACC; //硬解 private boolean FORCE_HAACC; //强制硬解 + public boolean isPlayStartInBegin() { + return PlayStartInBegin; + } + + public void setPlayStartInBegin(boolean playStartInBegin) { + PlayStartInBegin = playStartInBegin; + saveConfigToSP("PlayStartInBegin",playStartInBegin); + } + public Config(Context context) { this.context = context; getConfigFromSP(); @@ -93,6 +103,7 @@ public class Config { this.SortOrder = sp.getString("sortorder","Descending"); this.HAACC = sp.getBoolean("HAACC",true); this.FORCE_HAACC = sp.getBoolean("FORCE_HAACC",false); + this.PlayStartInBegin = sp.getBoolean("PlayStartInBegin",true); } /** diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java b/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java index aee95e2..378b856 100644 --- a/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java +++ b/app/src/main/java/org/sifacai/vlcjellyfin/VlcPlayerActivity.java @@ -417,7 +417,10 @@ public class VlcPlayerActivity extends BaseActivity implements MediaPlayer.Event Media media = new Media(libVLC,uri); media.setHWDecoderEnabled(JfClient.config.isHAACC(),JfClient.config.isFORCE_HAACC()); //media.addOption(":codec=mediacodec_ndk,mediacodec_jni,none"); //硬件加速 - //media.addOption(":start-time=${start/1000L}"); //设置开始位置 + if(!JfClient.config.isPlayStartInBegin()){ + long startTime = currItem.startPositionTicks / 10000L / 1000L; + if( startTime > 60) media.addOption(":start-time=" + startTime); //设置开始位置 + } return media; } diff --git a/app/src/main/res/menu/activebar_menu.xml b/app/src/main/res/menu/activebar_menu.xml index 00459bd..a6436ce 100644 --- a/app/src/main/res/menu/activebar_menu.xml +++ b/app/src/main/res/menu/activebar_menu.xml @@ -1,21 +1,30 @@
\ No newline at end of file