Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者40代後半中年中間管理職おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

Unity 小ネタ Unityで作ったアプリを関連付けられたファイルから起動

以前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";

}

 

上記を実行した結果が下記の通り

f:id:Harukichi:20201210225056p:plain

 

中身はよくわからないが、おそらくは二番目のパラメーターだろうと予測して

 

string[] args = System.Environment.GetCommandLineArgs();
pathtext.text = args[1];

 

に書き換えてアプリをビルド

 

 

拡張子をtxeという存在しなそうなファイルを作成し

そのファイルを右クリックしてメニューの「プログラムから開く」を選択

f:id:Harukichi:20201210225106p:plain

 

 

 

このファイルを開くアプリを先ほどビルドしたアプリに設定

f:id:Harukichi:20201210225100p:plain

 

 

 

で、このtest.txeというファイルをダブルクリックするとすると・・・・

 

f:id:Harukichi:20201210225113p:plain

いつものMade with Unity画面の表示後

上記のようにダブルクリックしたファイルのパスを取得することができた!!!!

 

この要領で、VideoPlayerのSourceのURLに上記のパスを指定して、再生すれば

ファイルをダブルクリックして作ったアプリを通して動画を再生することが可能となる

 

 

はずだ!!!

 

まだ試してないけど(-_-メ)

 

今日はここまで