Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Schritte zur Implementierung der HLS-Wiedergabe mit vue-dplayer
Dieses Mal werde ich Ihnen die Schritte zum Implementieren der HLS-Wiedergabe mit vue-dplayer ausführlich erläutern. Werfen wir einen Blick darauf.
UrsacheIch habe zuvor einen Artikel „vue2.0+vue-video-player implementiert hls-Wiedergabe“ geschrieben, in dem erwähnt wurde, dass ich vor der Verwendung von vue-video-player versucht habe, vue-dplayer zu verwenden, um die hls-Wiedergabe zu implementieren, aber die Zeit war damals knapp und ich konnte es immer noch nicht. Wenn es nicht fertig ist, wird der Plan geändert. Nehmen Sie sich jetzt die Zeit, es fertigzustellen.
Starten
Abhängigkeiten installieren
Schreiben Sie die Komponente HelloWorld.vuenpm install vue-dplayer -SStellen Sie hls.js vor
<template> <p> <d-player></d-player> </p> </template> <script> import VueDPlayer from './VueDPlayerHls'; export default { name: 'HelloWorld', data () { return { msg: 'Welcome to Your Vue.js App', video: { url: 'https://logos-channel.scaleengine.net/logos-channel/live/biblescreen-ad-free/chunklist_w630020335.m3u8', pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg', type: 'hls' }, autoplay: false, player: null, contextmenu: [ { text: 'GitHub', link: 'https://github.com/MoePlayer/vue-dplayer' } ] } }, components: { 'd-player': VueDPlayer }, methods: { play() { console.log('play callback') } }, mounted() { this.player = this.$refs.player.dp; // console.log(this.player); var hls = new Hls(); hls.loadSource('https://logos-channel.scaleengine.net/logos-channel/live/biblescreen-ad-free/chunklist_w630020335.m3u8'); hls.attachMedia(this.player); } } </script> <!-- Add "scoped" attribute to limit css to this component only --> <style> </style>
Es wurde ursprünglich mit Import eingeführt, bei der Ausführung wurde jedoch ein Fehler gemeldet. Führen Sie es also zunächst mit dem script-Tag in index.html ein.
nbsp;html> <meta> <meta> <title>vue-dplayer-hls</title> <p></p> <!-- built files will be auto injected --> <script></script>Hinweis:
Laut dem Code der DPlayer-Demoseite müssen Sie video.type auf „hls“ setzen, wenn Sie hls unterstützen möchten. Nachdem ich es jedoch geändert habe, stellte ich fest, dass es nicht abgespielt werden konnte. Also habe ich mir den Quellcode angesehen und diese Stelle im Quellcode gefunden:
Mit anderen Worten: Unabhängig davon, was Sie in Ihre Komponente eingeben, verwenden Sie tatsächlich „normal“, um eine neue Dplayer-Instanz zu erstellen.
Quellcode ändern
Passen Sie eine Komponente VueDPlayerHls.vue an, kopieren Sie dann den Quellcode und ändern Sie das Problem wie folgt: Typ: this.video.type
Importieren Sie die neue Komponente<template> <p></p> </template> <script> require('../../node_modules/dplayer/dist/DPlayer.min.css'); import DPlayer from 'DPlayer' export default { props: { autoplay: { type: Boolean, default: false }, theme: { type: String, default: '#FADFA3' }, loop: { type: Boolean, default: true }, lang: { type: String, default: 'zh' }, screenshot: { type: Boolean, default: false }, hotkey: { type: Boolean, default: true }, preload: { type: String, default: 'auto' }, contextmenu: { type: Array }, logo: { type: String }, video: { type: Object, required: true, validator(value) { return typeof value.url === 'string' } } }, data() { return { dp: null } }, mounted() { const player = this.dp = new DPlayer({ element: this.$el, autoplay: this.autoplay, theme: this.theme, loop: this.loop, lang: this.lang, screenshot: this.screenshot, hotkey: this.hotkey, preload: this.preload, contextmenu: this.contextmenu, logo: this.logo, video: { url: this.video.url, pic: this.video.pic, type: this.video.type } }) player.on('play', () => { this.$emit('play') }) player.on('pause', () => { this.$emit('pause') }) player.on('canplay', () => { this.$emit('canplay') }) player.on('playing', () => { this.$emit('playing') }) player.on('ended', () => { this.$emit('ended') }) player.on('error', () => { this.$emit('error') }) } } </script>in die Originalkomponente (HelloWorld.vue) Wiedergabe realisieren
import VueDPlayer from './VueDPlayerHls';
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen Website
php.
Ajax Dynamic Assignment Data GraphReact Component What sind die Aspekte der Leistungsoptimierung
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Implementierung der HLS-Wiedergabe mit vue-dplayer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!