ヒント:ディレクトリの右側を選択して、あなたはすぐにあなたが必要なものを見つけることができます
A、AVProVideo実用的な機能:
- WebGLのプレイ動画(UnityはWebGLのプレイ動画のための十分なサポートではありません)
- Androidのクライアントファイルの中の統一プレーヤーPCクライアントとビデオクリップ(マック、IOS、tvOS、Windowsの携帯電話、UWP、PS4プラットフォーム)
- ビデオフレームの出力シーケンスを再生
- 3Dオブジェクトをレンダリング映像(3Dメッシュ)
- 360°の円/平方(オープン目タヒチと同様に)ビデオを取り巻きます
- ビデオの周りに180度(世界の半分見て、ビデオではなく、他の半分)
- クリアビデオ(同様のAR蝶)
- ...
上記の構成、リファレンスマニュアルP36。
二、AVProVideoノート
AVProVideoは 、Microsoftのブラウザでエッジで使う代わりに、Internet Explorerの11(anyversion)がサポートされていません。(ドキュメントから)
二、AVProVideo速い設定
作成StreamingAssetsはフォルダ。
1、フルスクリーンビデオ再生
(このバンド上記プリフォームFullscreenVideoドラッグシーンDisplayIMGUI)
B、設定されたビデオパス
C、完全な
図2に示すように、プレーヤは、ビデオのサイズ、位置を設定することができ
、右レベルパネル新:AVProビデオメディアプレイヤー
B、新たなパネルキャンバスレベル(この低域キャンバス上EventSystem、新しいUI-AVProビデオuGUI DisplayUGUI)
C、MediaPlayerのはAVProビデオをドラッグ
D、今AVProビデオ映像のサイズを調整することができます調整し、オリエンテーション
第三に、プロパティの説明
参考ドキュメントP41
1、MediaPlayer 脚本 :
メイン
オートオープン:自動起動のプレーに開いていなければなりません。
再生率:再生速度
永続:DontDestroyOnLoadは、それがシーン/負荷レベルで破壊されないように、オブジェクトに適用しました
オーディオ
ボリューム:ボリューム
ミュート:あなたは、ビデオをミュートにしますか
イベント
下記の説明
プラットフォーム固有
これらはあなたが別のファイルパスを設定するなど、プラットフォームごとに異なる属性を設定することができます。
2、DisplayIMGUI 脚本
これはすぐにconfigureスクリプトにもたらしフルスクリーンビデオです。
エディタでの表示:エディタでの矩形(AVProVideoアイコンゲームのインタフェース)を表示するかどうか
色:ビデオの色、透明チャネルを含みます
スケールモード:
- StretchToFill:スケーラブルビデオは、全体のGUIをいっぱいに(全体のビデオを示すが、変形することができます)
- ScaleAndCrop:元のビデオ形式を維持し、GUIに表示された(元のビデオサイズ、この故障モード映像表示装置)
- ScaleToFit:ビデオ適応GUIは、(全体のビデオ、無変形を表示するが、上部があってもよいし、黒いバーを下げます)
フルスクリーン:無視するかどうか、高さ、幅X Yの影響、フルスクリーンの使用。
X:左端からの距離
Y:上辺から距離
幅:ビデオの幅の比
身長:ビデオの高さ比
3、DisplayUGUI 脚本
DefaultTexture:ビデオは、デフォルトの画像(必要なチェックを外しNoDefaultTexture)を表示するように演奏されていません
NoDefaultTexture:デフォルトの画像かどうか(DefaultTexture)
第四に、メインAPI
図1に示すように、インタフェース
MediaPlayer mp;
mp.Info.GetVideoWidth();
利用可能:
- GetDurationMs:戻り値(ミリ秒)の映像の長さ
- GetVideoWidth:(ピクセル単位)リターンビデオ幅
- GetVideoHeight:動画の高さ
- GetVideoFrameRate:戻るメディアフレームレート(ビデオのフレーム毎秒)
- GetVideoDisplayRate戻り値:現在の達する1秒あたりのフレーム表示レート、(中に現在のビデオの再生中にフレーム毎秒)
- HasVideo:メディアはビデオトラックを持っている場合は、trueを返します
- HasAudio:オーディオトラックは、trueを返します
- IsPlaybackStalled:チェックプレーヤーが停止状態であります
- ... ...
図2に示すように、制御インターフェース
MediaPlayer mp;
mp.Control.Pause();
達成することができます。
- SetLooping(ブール値bLooping):ビデオループするかどうかを設定
- CloseVideo():メモリを解放し、ビデオをオフにします
- 演奏する()
- 一時停止()
- やめる()
- 巻き戻し():リプレイ
- シーク(フロートtimeMs):進捗状況を設定します
- MuteAudio(ブール値bMute):設定し、ミュートするかどうか
- SetVolume(フロート量):音量を設定
- フロートGetVolume():音量を取得
- フロートGetCurrentTimeMs():(ミリ秒単位)現在の再生の進行状況を取得します。
- BOOL IsMuted:取得ミュートするかどうか
- BOOL IsLooping:ビデオループするかどうかを取得
- BOOL CanPlay:ビデオの再生を得ることができます
- ブール値IsPlaying:動画を再生するかどうかを取得します
- ブール値IsPaused:あなたが中断するかどうかを取得しています
- ... ...
3、テクスチャインタフェース
MediaPlayer mp;
Texture videoTexture = mp.TextureProducer.GetTexture();
4、イベント
ビデオプレーヤーの下に表示されるコールバック。
達成するための5つの機能:
原産地:ビデオを再生設定と、対応する動画を再生するには、異なるプラットフォーム
デフォルト/ PC側プレイヤー:
public MediaPlayer mediaPlayer;
void Start()
{
//PC端
mediaPlayer.m_VideoPath = "vedioURL";
mediaPlayer.OpenVideoFromFile(
MediaPlayer.FileLocation.AbsolutePathOrURL,
"视频路径",
false);//加载视频。false,取消自动播放
mediaPlayer.Control.Play();//播放视频
}
アンドリュースは、プレイ終了を設定します。
public MediaPlayer mediaPlayer;
void Start()
{
//安卓端
mediaPlayer.PlatformOptionsAndroid.path = "vedioURL";
mediaPlayer.OpenVideoFromFile(
MediaPlayer.FileLocation.AbsolutePathOrURL,
mediaPlayer.PlatformOptionsAndroid.path,
false);//加载视频
mediaPlayer.Control.Play();//播放视频
}
1、動画のURLまたはローカルフォルダのビデオを再生します
パネル構成
、ソースパス:絶対パスまたはURL
a、b、再生URLフィル: "http://myserver.com/myvideo.mp4" または "RTSP://myserver.com:8080 / mystream.rtsp"
ローカルビデオを再生するときに入力します。
- C:/MyFolder/AnotherFolder/MyVideo.mp4(Windowsの場合)
- /Users/Mike/downloads/MyVideo.mp4(Mac/Linux)
- /Storage/SD/Videos/MyVideo.mp4(Android外部SDCARD)
- /Storage/emulated/0/MyFolder/MyVideo.mp4(Androidローカルファイルシステム)
- /mnt/sdcard/MyFolder/MyVideo.mp4(Androidオクルスゴー)
C、AutoOpenマクロ、自動再生をご確認ください
2、資産と一緒に遊んで、図書館ピア・ビデオ
パネル構成
あなたのビデオを置くために、外の資産(外国または新しい資産フォルダ)
B、ソースパス:相対するプロジェクトフォルダ、[参照映像を選択します
C、AutoOpenマクロ、自動再生
3、プレイ動画StreamingAssets
パネル構成
、ソースパス:相対へのストリーミング資産フォルダ
B、ブラウズStreamingAssetsフォルダ対応するビデオを選択します
C、AutoOpenマクロ、自動再生をご確認ください
4、ビデオプレーヤーの資産に
動画はありませんStreamingAssetsフォルダなければなりません。
1)パネルを設定するには
、あなたのビデオを入れて、資産に新しいフォルダを作成します
B、ソースパス:相対するために、データフォルダ、ブラウザ、それぞれのビデオ
C、AutoOpenマクロ、自動再生
5、ビデオ再生の進行状況コールバック
//可以通过上面按键绑定,也可通过下面代码绑定监听。
//_mediaPlayer.Events.AddListener(Skode_OnVideoEvent);
public void Skode_OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode er)
{
switch (et)
{
case MediaPlayerEvent.EventType.MetaDataReady:
Debug.Log("视频数据准备完成。当元数据(宽度,持续时间等)可用时触发");
break;
case MediaPlayerEvent.EventType.ReadyToPlay:
Debug.Log("加载视频并准备播放时触发");
break;
case MediaPlayerEvent.EventType.Started:
Debug.Log("播放开始时触发");
break;
case MediaPlayerEvent.EventType.FirstFrameReady:
Debug.Log("渲染第一帧时触发");
break;
case MediaPlayerEvent.EventType.FinishedPlaying:
Debug.Log("当非循环视频播放完毕时触发");
break;
case MediaPlayerEvent.EventType.Closing:
Debug.Log("媒体关闭时触发");
break;
case MediaPlayerEvent.EventType.Error:
Debug.Log("发生错误时触发");
break;
case MediaPlayerEvent.EventType.SubtitleChange:
Debug.Log("字幕更改时触发");
break;
case MediaPlayerEvent.EventType.Stalled:
Debug.Log("媒体停顿/暂停?时触发(例如,当媒体流失去连接时)-当前仅在Windows平台上受支持");
break;
case MediaPlayerEvent.EventType.Unstalled:
Debug.Log("当介质从停止状态恢复时触发(例如,重新建立丢失的连接时)");
break;
case MediaPlayerEvent.EventType.ResolutionChanged:
Debug.Log("当视频的分辨率改变(包括负载)时触发");
break;
case MediaPlayerEvent.EventType.StartedSeeking:
Debug.Log("寻找开始时触发");
break;
case MediaPlayerEvent.EventType.FinishedSeeking:
Debug.Log("搜索完成时触发");
break;
case MediaPlayerEvent.EventType.StartedBuffering:
Debug.Log("缓冲开始时触发");
break;
case MediaPlayerEvent.EventType.FinishedBuffering:
Debug.Log("缓冲完成后触发");
break;
case MediaPlayerEvent.EventType.PropertiesChanged:
Debug.Log("当任何属性(例如,立体声包装改变)时触发-必须手动触发");
break;
case MediaPlayerEvent.EventType.PlaylistItemChanged:
Debug.Log("在播放列表中播放新项目时触发");
break;
case MediaPlayerEvent.EventType.PlaylistFinished:
Debug.Log("播放列表结束时触发");
break;
}
Debug.Log("Event: " + et.ToString());
}