前提・実現したいこと
ar.jsを使ってマーカーにスマホのカメラを向けるとARで映像が流れるようにしたがAndroid端末では再生されないので
再生したい。
発生している問題・エラーメッセージ
iPhoneSE(第二世代)iOS15.3の実機でSafariやChromeのブラウザ上でカメラを立ち上げてマーカーにかざすと
videoタグで指定した映像が再生されるのですが、Android端末(GalaxyのAndroid OS 10 5年ほど前の端末)でChromeで
カメラを立ち上げてやると16:9の画面はでるのですが、真っ黒で何も再生されません。
ちなみに動画をタップすると再生されるしくみなのですが、タップしても再生されません。
該当のソースコード
<!doctype HTML> <html> <head> <meta charset="utf-8"> <meta name="apple-mobile-web-app-capable" content="yes"> <!-- 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="test.mp4" autoplay loop="true" playsinline webkit-playsinline controls /> <audio src="videopath" autoplay></audio> </a-assets> <!-- デバッグ用の画面表示、VR用のボタンをそれぞれ非表示に --> <a-scene embedded arjs="debugUIEnabled:false;" vr-mode-ui="enabled: false"> <!-- 今回作成した『.patt』ファイルを読み込む --> <a-marker type='pattern' url='pattern-test-100.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 video = document.querySelector('#ar-video'); if (video.paused == true) { video.play(); } else { video.pause(); } }, false); </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(); }); } }); </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。