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

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

Unity小ネタ アプリの実行時にファイルダイアログで選択した動画を再生する

前回はファイルダイアログでファイルを選択するところまで解説したが、今回は選択した動画を再生するところを解説する

 

f:id:Harukichi:20200915232947g:plain

 

〇概要

①ファイルダイアログでファイルを選択すると、選択したファイルのパスが返ってくる➁Video Playerコンポーネントの再生クリップのパスに取得したパスを設定

③Video Playerを再生

 

〇Video Playerの使用方法

 Hierarchyのプラスボタンを押してコンポーネントを追加

f:id:Harukichi:20201004183554p:plain

 

 インスペクターで設定

f:id:Harukichi:20201004183610p:plain

・Sourceは、パスを指定するのでURLを選択

・URLはスクリプトから指定するので空のままに

・Play On Awakeのチェックは外して、起動時に自動で再生されないようにする

・Cameraは動画を表示したいカメラを指定

 

スクリプトでの制御

下記の中のvpはVideo Player

public void OnFileSelectButtonDown() //ファイル選択ボタンを押した場合の処理
{

  string FilePath= OpenFile(); //ファイルを開く処理でパスを取得

  if(vp.isPlaying) //Video Playerが再生中の場合は一応止める
    vp.Stop();
  

 

  vp.url = "file://"+FilePath[0]; //urlを指定

  vp.Play();//再生

}

 

上記の中のファイルを開く処理

public string OpenFile()
{
  string FilePath;

  var extensions = new //ダイアログに表示するファイルのフィルタを設定
  {
    new ExtensionFilter( "Movie Files", "mp4", "mov", "avi" ),

  };


  FilePath = StandaloneFileBrowser.OpenFilePanel("Select Movie File", "", extensions, true);

  return FilePath;

}

  

 

以上、こんな感じで動画が再生できる ・・・はず