Vue.js は、ユーザー インターフェイスを構築するための先進的な JavaScript フレームワークとして、あらゆる面で優れたパフォーマンスとアプリケーションを備えています。 Vue.js ドキュメントには、オーディオおよびビデオ再生コンポーネントの実装プロセスも記載されており、フロントエンド開発者に便利な操作方法を提供します。次に、Vue.js ドキュメント内のオーディオおよびビデオ再生コンポーネントの実装プロセスについて詳しく学習します。
まず、Vue プロジェクトでコンポーネントを参照する必要があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <template>
<div>
<audio-player :src="audioSrc" :controls="controls" :autoplay="autoplay" :loop="loop"></audio-player>
<video-player :src="videoSrc" :controls="controls" :autoplay="autoplay" :loop="loop"></video-player>
</div>
</template>
<script>
import AudioPlayer from './AudioPlayer.vue'
import VideoPlayer from './VideoPlayer.vue'
export default {
components: {
AudioPlayer,
VideoPlayer
},
data () {
return {
audioSrc: 'audio.mp3' ,
videoSrc: 'video.mp4' ,
controls: true,
autoplay: false,
loop: false
}
}
}
</script>
|
ログイン後にコピー
その中で、AudioPlayer
と VideoPlayer
は結合でき、それらはPlayer
という名前のコンポーネントを作成し、audio
または video
コンポーネントとしてレンダリングします。この Player
コンポーネントのコードは次のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <template>
<div>
<slot name="before"></slot>
<slot name="after"></slot>
<slot name="loading">
<div class ="loading"></div>
</slot>
<audio v- if ="playerType === 'audio' " :src="src" class ="player" :controls="controls" :autoplay="autoplay" :loop="loop" @loadedmetadata="loadedmetadata">
Your browser does not support the audio tag.
</audio>
<video v- else - if ="playerType === 'video' " :src="src" class ="player" :controls="controls" :autoplay="autoplay" :loop="loop" @loadedmetadata="loadedmetadata">
Your browser does not support the video tag.
</video>
</div>
</template>
<script>
export default {
name: 'Player' ,
props: {
src: {
type: String
},
controls: {
type: Boolean,
default : true
},
autoplay: {
type: Boolean,
default : false
},
loop: {
type: Boolean,
default : false
}
},
data () {
return {
playerType: this. getType ()
}
},
methods: {
getType () {
if (/.mp3$/.test(this.src)) {
return 'audio'
} else if (/.mp4$/.test(this.src)) {
return 'video'
}
},
loadedmetadata () {
this. $emit ( 'duration' , this. $refs .player.duration)
}
}
}
</script>
<style scoped>
.loading {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(255, 255, 255, 0.8);
display: flex;
align-items: center;
justify-content: center;
}
.loading:after {
content: 'Loading...' ;
}
.player {
width: 100%;
}
</style>
|
ログイン後にコピー
この Player
コンポーネントは、props
を使用して、渡す必要があるパラメーターを受け取ります。 src
(オーディオおよびビデオ ファイルのパス)、controls
(コントロール バーを表示するかどうか)、autoplay
(自動的に再生するかどうか)、loop を含む
(ループ再生するかどうか) など。次に、getType
メソッドを使用してファイル タイプを特定し、対応するタイプに従って audio
または video
コンポーネントをレンダリングします。
Player
コンポーネントでは、slot
スロットを使用して子コンポーネントを挿入します。たとえば、前後にテキストやボタンを追加する必要がある場合は、before
スロットと after
スロットを使用します。 loadedmetadata
イベントをバインドした後、loading
スロットを使用して「読み込み中...」という文字を表示し、オーディオ ファイルとビデオ ファイルがロードされるのを待ちます。
最後に、次の CSS スタイルを引用して、プレーヤーの外観を設定します:
1 2 3 4 5 6 | .player {
width: 400px;
height: 300px;
background-color: black;
color: white;
}
|
ログイン後にコピー
ここでは背景色とテキストの色のみが設定されています。実際、プレーヤーは CSS を通じて変更することもできます。 . 詳細設定。
上記の実装プロセスを通じて、オーディオおよびビデオ プレーヤーを Vue プロジェクトに簡単に追加し、さまざまな一般的なオーディオおよびビデオ再生操作を実装できます。 Vue.js が提供するカスタムコンポーネントやスロットを利用することで、プロジェクトに素早く機能を追加でき、開発効率が向上します。
以上がVue ドキュメントでのオーディオおよびビデオ再生コンポーネントの実装プロセスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。