diff --git a/src/components/Play.vue b/src/components/Play.vue index 35a0a43..bfc5eb6 100644 --- a/src/components/Play.vue +++ b/src/components/Play.vue @@ -544,9 +544,14 @@ export default { playWithExternalPalyerEvent () { this.fetchM3u8List().then(m3u8Arr => { var m3u8Link = m3u8Arr[this.video.info.index] - var potPlayer = 'C:\\Program Files\\DAUM/PotPlayer\\PotPlayerMini64.exe' - var exec = require('child_process').execFile - exec(potPlayer, [m3u8Link]) + const fs = require('fs') + var externalPlayer = this.setting.externalPlayer + if (fs.existsSync(externalPlayer)) { + var exec = require('child_process').execFile + exec(externalPlayer, [m3u8Link]) + } else { + this.$message.error('请设置第三方播放器路径') + } }) }, checkStar () { diff --git a/src/components/Setting.vue b/src/components/Setting.vue index e5fb773..fd79d8b 100644 --- a/src/components/Setting.vue +++ b/src/components/Setting.vue @@ -61,6 +61,14 @@ 搜索所有资源 +
+
第三方播放器
+
+
+
选择
+
+
+
源管理
@@ -155,7 +163,8 @@ export default { theme: '', shortcut: true, searchAllSites: true, - view: 'picture' + view: 'picture', + externalPlayer: '' } } }, @@ -182,7 +191,8 @@ export default { theme: res.theme, shortcut: res.shortcut, view: res.view, - searchAllSites: res.searchAllSites + searchAllSites: res.searchAllSites, + externalPlayer: res.externalPlayer } this.setting = this.d }) @@ -267,6 +277,28 @@ export default { this.$message.error(err) }) }, + selectExternalPlayer () { + const options = { + filters: [ + { name: 'Executable file', extensions: ['exe'] }, + { name: 'All types', extensions: ['*'] } + ], + properties: ['openFile'] + } + remote.dialog.showOpenDialog(options).then(result => { + if (!result.canceled) { + var playerPath = result.filePaths[0].replace(/\\/g, '/') + this.$message.success(result.filePaths[0]) + this.$message.success('设定第三方播放器路径为:' + result.filePaths[0]) + this.d.externalPlayer = playerPath + setting.update(this.d).then(res => { + this.setting = this.d + }) + } + }).catch(err => { + this.$message.error(err) + }) + }, expSites () { const arr = [...this.sitesList] const str = JSON.stringify(arr, null, 4)