現在、Laravel5+VueJSで動画プレーヤーを作成しようとしています。
Chromeのデベロッパーツールでは、srcに正しくURLが入っているところまでは確認できたのですが、
poster画像が原寸で表示されて、動画の再生ができません。
試しにsrcをJSONで取得できるpathを直接URLに置き換えたところ正しく再生されました。
現在のソースコードでは、Chromeのコンソールでは、【Uncaught TypeError: Cannot read property 'split' of undefined】というエラーが発生しています。
現在のソースコードは以下のとおりです。
HTML
1<template> 2 <div> 3 <div class="row"> 4 <div class="col-md-6"> 5 <div class="fp-slim flowplayer"> 6 <video preload autoplay :poster="video.screenshot"> 7 <source type="application/x-mpegurl" :src="video.path"> 8 </video> 9 </div> 10 </div> 11 <div class="col-md-6">テスト動画</div> 12 </div> 13 </div> 14</template> 15 16<script> 17 export default { 18 name: "player-component", 19 created() { 20 this.fetchVideo(); 21 }, 22 data() { 23 return { 24 video: [], 25 } 26 }, 27 methods: { 28 // 動画取得 29 fetchVideo() { 30 axios.get('/api/player/' + this.$route.params.videoId) 31 .then(response => { 32 this.video = response.data 33 }) 34 .catch(e => { 35 this.errors.push(e) 36 }); 37 }, 38 } 39 } 40</script> 41 42<style scoped> 43 44</style>
お分かりになる方、ご教授願えれば幸いです。
追記: 2018/01/31
該当のページから別ページに遷移して、ブラウザの戻るボタンで戻ったところ再生されました。
jQueryか何かのイベントが発火していないのでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/31 04:31