优化播放效果

This commit is contained in:
lin 2026-05-22 14:14:41 +08:00
parent fd64ab75be
commit 37a4ea2a56
3 changed files with 21 additions and 8 deletions

View File

@ -54,10 +54,12 @@ export default {
} }
}, },
created() { created() {
const paramUrl = decodeURIComponent(this.$route.params.url) if (this.$route.params.url) {
console.log(paramUrl) const paramUrl = decodeURIComponent(this.$route.params.url)
if (!this.videoUrl && paramUrl) { console.log(paramUrl)
this.videoUrl = paramUrl if (!this.videoUrl) {
this.videoUrl = paramUrl
}
} }
this.btnDom = document.getElementById('buttonsBox') this.btnDom = document.getElementById('buttonsBox')
}, },
@ -217,6 +219,10 @@ export default {
this.play(this.videoUrl) this.play(this.videoUrl)
}, },
play: function(url) { play: function(url) {
if (!url) {
console.warn('Jessibuca -> invalid url, skip play')
return
}
this.videoUrl = url this.videoUrl = url
console.log('Jessibuca -> url: ', url) console.log('Jessibuca -> url: ', url)
if (!jessibucaPlayer[this._uid]) { if (!jessibucaPlayer[this._uid]) {

View File

@ -44,6 +44,9 @@ export default {
}, },
methods: { methods: {
getMediaInfo: function() { getMediaInfo: function() {
if (!this.app || !this.stream || !this.mediaServerId) {
return
}
this.$store.dispatch('server/getMediaInfo', { this.$store.dispatch('server/getMediaInfo', {
app: this.app, app: this.app,
stream: this.stream, stream: this.stream,
@ -52,6 +55,7 @@ export default {
.then(data => { .then(data => {
this.info = data this.info = data
}) })
.catch(() => {})
}, },
startTask: function() { startTask: function() {
this.task = setInterval(this.getMediaInfo, 1000) this.task = setInterval(this.getMediaInfo, 1000)

View File

@ -473,10 +473,13 @@ export default {
this.mediaServerId = streamInfo.mediaServerId this.mediaServerId = streamInfo.mediaServerId
this.playFromStreamInfo(false, streamInfo) this.playFromStreamInfo(false, streamInfo)
}, },
getUrlByStreamInfo() { getUrlByStreamInfo(streamInfo) {
let streamInfo = this.streamInfo streamInfo = streamInfo || this.streamInfo
if (this.streamInfo.transcodeStream) { if (!streamInfo) {
streamInfo = this.streamInfo.transcodeStream return ''
}
if (streamInfo.transcodeStream) {
streamInfo = streamInfo.transcodeStream
} }
let videoUrl let videoUrl
if (location.protocol === 'https:') { if (location.protocol === 'https:') {