diff --git a/src/components/Play.vue b/src/components/Play.vue
index 8e0fe5e..23104fe 100644
--- a/src/components/Play.vue
+++ b/src/components/Play.vue
@@ -1420,6 +1420,21 @@ export default {
})
},
bindEvent () {
+ let stallIptvTimeout
+ this.xg.on('waiting', () => {
+ if (this.isLive && this.setting.autoChangeSourceWhenIptvStalling && this.right.sources.length > 1) {
+ stallIptvTimeout = setTimeout(() => {
+ let index = this.right.sources.indexOf(this.video.iptv) + 1
+ if (index === this.right.sources.length) index = 0
+ clearTimeout(stallIptvTimeout)
+ this.playChannel(this.right.sources[index])
+ }, this.setting.waitingTimeInSec * 1000)
+ }
+ })
+ this.xg.on('canplay', () => {
+ if (stallIptvTimeout) clearTimeout(stallIptvTimeout)
+ })
+
this.xg.on('exitFullscreen', () => {
if (this.miniMode) this.xg.getCssFullscreen()
})
diff --git a/src/components/Setting.vue b/src/components/Setting.vue
index 9857d8e..382aac7 100644
--- a/src/components/Setting.vue
+++ b/src/components/Setting.vue
@@ -75,6 +75,10 @@
检测时自动清理无效源
+
+
+ 卡顿时自动换源:秒
+
diff --git a/src/lib/dexie/dexie.js b/src/lib/dexie/dexie.js
index 07893f6..435706f 100644
--- a/src/lib/dexie/dexie.js
+++ b/src/lib/dexie/dexie.js
@@ -53,6 +53,10 @@ db.version(8).stores({
trans.sites.toCollection().modify(site => {
if (site.api.includes('7kjx.com')) site.jiexiUrl = 'default'
})
+ trans.setting.toCollection().modify(setting => {
+ setting.waitingTimeInSec = 15
+ setting.autoChangeSourceWhenIptvStalling = true
+ })
})
db.on('populate', () => {
diff --git a/src/lib/dexie/initData.js b/src/lib/dexie/initData.js
index ed2b8d5..9fea21a 100644
--- a/src/lib/dexie/initData.js
+++ b/src/lib/dexie/initData.js
@@ -9,6 +9,7 @@ const setting = [
excludeRootClasses: true,
excludeR18Films: true,
forwardTimeInSec: 5,
+ waitingTimeInSec: 15,
starViewMode: 'picture',
recommendationViewMode: 'picture',
historyViewMode: 'picture',
@@ -21,7 +22,8 @@ const setting = [
port: ''
},
allowPassWhenIptvCheck: true,
- autocleanWhenIptvCheck: false
+ autocleanWhenIptvCheck: false,
+ autoChangeSourceWhenIptvStalling: true
}
]