前提
AR.jsの技術を使い、マーカーにカメラをかざしたら映像を表示させたいのですが、
何度かざしても映像が出てこない。
実現したいこと
マーカーにカメラをかざすと音声付きの映像を再生させたい。(iPhoneでも音声付きで再生させたい)
発生している問題・エラーメッセージ
マーカーにカメラをかざしても映像が再生されない。
ファイル名やコードのミスとかそういうのは確認しましたがなさそうです。
該当のソースコード
<!doctype HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densityDpi=device-dpi" /> <!-- A-Frame ライブラリの読み込み --> <script src="aframe-master.min.js"></script> <!-- AR.js ライブラリの読み込み --> <script src="aframe-ar.js"></script> </head> <body style='margin:0px; overflow:hidden;'> <a-assets> <video id="ar-video" poster="img.jpg" crossOrigin="anonymous" type="video/mp4" src="tanaka.mp4" autoplay loop="true" playsinline webkit-playsinline controls /> </a-assets> <!-- デバッグ用の画面表示、VR用のボタンをそれぞれ非表示に --> <a-scene embedded arjs="debugUIEnabled:false;" vr-mode-ui="enabled: false"> <!-- 今回作成した『.patt』ファイルを読み込む --> <a-marker type='pattern' url='pattern-movie-tanaka.patt'> <a-video src="#ar-video" width="2.6" height="1.4" position="0 0 0" rotation="270 0 0" play="true"></a-video> </a-marker> <a-entity camera></a-entity> </a-scene> <script> window.addEventListener('click', function () { var v = document.querySelector('#ar-video'); v.play(); }); </script> <script> // ビデオ格納用の変数定義を追加 var video = null; AFRAME.registerComponent('registerevents', { init: function () { var marker = this.el; // マーカーを検出したイベントの登録 marker.addEventListener('markerFound', function () { // マーカー認識したら、ビデオ再生 if (video == null) { video = document.querySelector('#ar-video'); } video.play(); }); // マーカーを見失ったイベントの登録 marker.addEventListener('markerLost', function () { // マーカー認識が外れたら、、ビデオ停止 video.pause(); }); } }); window.addEventListener('click', function () { video = document.querySelector('#ar-video'); video.play(); }); </script> </body> </html>
試したこと
コードにも書きましたが、
<video id="ar-video" poster="img.jpg" crossOrigin="anonymous" type="video/mp4" src="tanaka.mp4" autoplay loop="true" playsinline webkit-playsinline controls />
poster="img.jpg" crossOrigin="anonymous"
autoplay loop="true" playsinline webkit-playsinline controls
を追加しましたが、これはあまり再生自体には関係ないのでしょうか?
マーカーも下記サイトで作り直しましたがそれも関係なさそうです。
https://jeromeetienne.github.io/AR.js/three.js/examples/marker-training/examples/generator.html
昨日までは再生されたのですがマーカーを変えたせいかそれ以降再生されません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。