以前VideoPlayerコンポーネントを使用して、簡易的な動画再生アプリを作ったが、それを使ってくれている大変珍しいユーザーから、「mp4のファイルをダブルクリックしたらこのアプリで再生されるようにしてほしい」との依頼を受ける(-_-メ)
そんなんUnityで作ったアプリでは無理やろ・・
というか、そんなことするアプリをそもそもUnityで作る????
とかただめんどくさそうだからやらないで済めば・・・・
いや貴重な私のアプリのユーザーのサポートをしないのは、アプリ製作者として恥だ!!
無駄な前置きはここまでにして
めちゃくちゃ簡単だった
C#で用意されている関数により、アプリ起動時にデータ(文字列)を取得できるようでそいつから抜き出せばいいだけ
Start関数に下記のコードを入力
string args=System.Environment.GetCommandLineArgs();
試しにどんな文字列が取得できるのか一行ずつ取得してみる
void Start()
{
string args = System.Environment.GetCommandLineArgs();
for (int i = 0; i < args.Length;i++)
pathtext.text += args[i] + "\n";
}
上記を実行した結果が下記の通り
中身はよくわからないが、おそらくは二番目のパラメーターだろうと予測して
string[] args = System.Environment.GetCommandLineArgs();
pathtext.text = args[1];
に書き換えてアプリをビルド
拡張子をtxeという存在しなそうなファイルを作成し
そのファイルを右クリックしてメニューの「プログラムから開く」を選択
このファイルを開くアプリを先ほどビルドしたアプリに設定
で、このtest.txeというファイルをダブルクリックするとすると・・・・
いつものMade with Unity画面の表示後
上記のようにダブルクリックしたファイルのパスを取得することができた!!!!
この要領で、VideoPlayerのSourceのURLに上記のパスを指定して、再生すれば
ファイルをダブルクリックして作ったアプリを通して動画を再生することが可能となる
はずだ!!!
まだ試してないけど(-_-メ)
今日はここまで