今更ですけどスマホをVRゴーグルにする製品を買いました。
まぁ、購入理由は安価だったからです。ちなみに製品は以下のものです。
これを使って、ネットで公開されているVR動画を見てみたのですが、けっこう楽しい。
そんな風に思ったら、自分で再生プレイヤーを作れないか調べてみることにしました。
VRゴーグルが流行っていたのは2~3年以上前なので、github上では新しめのライブラリは無いようでした。
とりあえず見つけられたのが以下です。
Pano360
動作時のスクリーンショットが無いので、貼り付けます。
このライブラリの特徴は以下のようです。
- シングルおよびデュアル画面切り替え
- ジャイロ、タッチ(ドラッグ、ズーム)2つのインタラクティブモード切り替え
- 進行状況コントロールを再生します。コントロールバーは自動的に非表示になります
- GPUImageと同様のフィルターグループは、複数のフィルターオーバーレイをサポートし、フィルターの順序は球体へのレンダリングの前でも後でもかまいません。
- オリジナルのビデオレンダリングをサポート(フルスクリーン/カット/アダプティブ)
- パノラマ写真の再生をサポート
- リアルタイムビデオのスクリーンショット
- オンラインビデオ再生(複数の形式でのデコードを自分で処理する必要がある場合があります)
- 座標軸のロックをサポートし、ユーザーはさまざまな角度から入り、同じシーンを見ることができます
- LOCK_MODE_AXIS_Y:Cardboard Motionと同様
- 座標軸の回転角度を無視するためのサポート
- 2DビデオVRシネマモード
- シンプルなホットスポットをサポート(写真/ビデオ)
ライブラリが古いのか、AndroidStudio3.5でビルドできなかったので、簡単な修正を行いました。
修正を行ったコードは以下から入手できます。
〇追記
以下も試したのですが、ファイル再生時にエラーが発生し使用できませんでした。
エラーの内容は以下です。
2020-05-06 10:24:16.093 19398-19398/com.neointernet.neo360 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.neointernet.neo360, PID: 19398
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.neointernet.neo360-lw_DwUZ5vZQZkJG-xVvojA==/base.apk"],nativeLibraryDirectories=[/data/app/com.neointernet.neo360-lw_DwUZ5vZQZkJG-xVvojA==/lib/arm64, /system/lib64, /vendor/lib64]]] couldn't find "libvrtoolkit.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at com.google.vrtoolkit.cardboard.CardboardViewNativeImpl.<init>(CardboardViewNativeImpl.java:114)
at com.google.vrtoolkit.cardboard.ImplementationSelector.createCardboardViewApi(ImplementationSelector.java:35)
at com.google.vrtoolkit.cardboard.CardboardView.init(CardboardView.java:930)
at com.google.vrtoolkit.cardboard.CardboardView.<init>(CardboardView.java:238)
at org.rajawali3d.cardboard.RajawaliCardboardView.<init>(RajawaliCardboardView.java:18)
at com.neointernet.neo360.view.MyCardboardView.<init>(MyCardboardView.java:22)
at com.neointernet.neo360.activity.VideoActivity.onCreate(VideoActivity.java:36)
Process: com.neointernet.neo360, PID: 19398
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.neointernet.neo360-lw_DwUZ5vZQZkJG-xVvojA==/base.apk"],nativeLibraryDirectories=[/data/app/com.neointernet.neo360-lw_DwUZ5vZQZkJG-xVvojA==/lib/arm64, /system/lib64, /vendor/lib64]]] couldn't find "libvrtoolkit.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at com.google.vrtoolkit.cardboard.CardboardViewNativeImpl.<init>(CardboardViewNativeImpl.java:114)
at com.google.vrtoolkit.cardboard.ImplementationSelector.createCardboardViewApi(ImplementationSelector.java:35)
at com.google.vrtoolkit.cardboard.CardboardView.init(CardboardView.java:930)
at com.google.vrtoolkit.cardboard.CardboardView.<init>(CardboardView.java:238)
at org.rajawali3d.cardboard.RajawaliCardboardView.<init>(RajawaliCardboardView.java:18)
at com.neointernet.neo360.view.MyCardboardView.<init>(MyCardboardView.java:22)
at com.neointernet.neo360.activity.VideoActivity.onCreate(VideoActivity.java:36)
libvrtoolkit.soがないらしいですけど、プロジェクトに明示的にいれないといけないのでしょうね・・・。
0 件のコメント :
コメントを投稿