日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AVProVideo的使用以及遇到的问题

發(fā)布時(shí)間:2023/12/29 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AVProVideo的使用以及遇到的问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、pico中文件的路徑:file:///storage/emulated/0/SuperClass/{0}

? ? ? ? superclass是自己建的文件夾的名字。

二、設(shè)置視頻的路徑:

#region UNITY_ANDROIDmediaPlayer.PlatformOptionsAndroid.path = filePath;#endregion //播放對(duì)視頻public void OnOpenVideoFile(string path){_mediaPlayer = ARGameManager.Instance._mediaPlayer;#region UNITY_ANDROID_mediaPlayer._optionsAndroid.overridePath = true;_mediaPlayer._optionsAndroid.path = path;#endregiontransform.Find("VideoDisplay").GetComponent< DisplayUGUI >()._mediaPlayer = ARGameManager.Instance._mediaPlayer;if (path == null || path == ""){_mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, path, true);}else{_mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, path, true);//_mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, path, true);_mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, path, true);}}

三、使用:

1、創(chuàng)建Media Player對(duì)象

將下載的unitypackage導(dǎo)入工程,導(dǎo)入后會(huì)看到幾個(gè)demo和插件的說明文檔AVProVideo-UserManual。詳細(xì)的插件用法包括視頻格式的支持和API在說明文檔中都有,這里先介紹基礎(chǔ)用法,在之后用到更多功能時(shí)會(huì)進(jìn)行更新說明。?
首先創(chuàng)建Media Player對(duì)象。在Hierarchy視圖右擊或者選擇菜單欄的GameObject菜單,然后選擇AVPro Video->Media Player。?
??
Media Player對(duì)象包括基礎(chǔ)設(shè)置,Media Properties(視頻的圖像和音頻設(shè)置),Global Settings(全局設(shè)置),Preview(預(yù)覽,只在Play時(shí)有效),Events(回調(diào)事件),Platform(多平臺(tái)重寫)和About(插件信息)。其中我們一般需要進(jìn)行設(shè)置的只有基礎(chǔ)設(shè)置和Events。

2、基礎(chǔ)設(shè)置

基礎(chǔ)設(shè)置包括文件路徑,自動(dòng)加載播放,循環(huán)音量等信息,這些都是一些視頻的基礎(chǔ)屬性,面板上的設(shè)置信息也很易懂。需要注意一下的是Video Location這個(gè)選項(xiàng),插件會(huì)根據(jù)Location的位置去查找相應(yīng)的文件夾,這里推薦使用StreamingAssets文件夾,需要在項(xiàng)目的Assets目錄下新建一個(gè)StreamingAssets文件夾,然后將視頻拖進(jìn)去,StreamingAssets中的文件不會(huì)被打包到程序資源包中,而是作為一個(gè)獨(dú)立的目錄自動(dòng)生成在輸出的程序目錄的Data目錄下。Recent選項(xiàng)可以快速選擇之前選擇過的文件,Browse選項(xiàng)可以快速選擇電腦中的文件。?

3、Events

Events是一個(gè)MediaPlayerEvent屬性,繼承了UnityEvent類,使用起來跟UGUI的Button控件的event類似,不同的是我們提供的方法需要有三個(gè)參數(shù),MediaPlayer、MediaPlayerEvent.EventType和ErrorCode。其中EventType是播放器的一些狀態(tài),有如下幾種:
? ? ? ? ? ?MetaDataReady:視頻數(shù)據(jù)準(zhǔn)備完成

? ? ? ? ? ?ReadyToPlay:視頻加載完成,準(zhǔn)備播放

? ? ? ? ? ?Started:視頻開始播放

? ? ? ? ? ?FirstFrameReady:第一幀渲染完成

? ? ? ? ? ?FinishedPlaying:非循環(huán)播放的視頻播放完畢

三個(gè)參數(shù)都需聲明,但只需要對(duì)EventType進(jìn)行判斷,其余兩個(gè)變量是情況使用。

public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode er) {switch (et){case MediaPlayerEvent.EventType.ReadyToPlay:Debug.Log("ReadyToPlay");break;case MediaPlayerEvent.EventType.FirstFrameReady:Debug.Log("First frame ready");break;case MediaPlayerEvent.EventType.FinishedPlaying:Debug.Log("Finished");break;} }

3、其他設(shè)置

其他的設(shè)置一般不需要去更改。這里簡單介紹一下:

Media Properties:貼圖的過濾、循環(huán)模式和Aniso level的設(shè)置,音頻的立體聲設(shè)置等。
Global Settings:顯示當(dāng)前的開發(fā)平臺(tái),可以設(shè)置是否受TimeScale影響。
Preview:視頻播放時(shí)可以查看播放情況,包括拖動(dòng)進(jìn)度,重播,顯示Alpha通道,查看當(dāng)前幀的貼圖,保存當(dāng)前幀貼圖等。
PlatForm Overrides:可以重寫相應(yīng)平臺(tái)播放的視頻路徑等。
About:插件的相關(guān)信息,可以點(diǎn)擊這一項(xiàng)中的按鈕快捷跳轉(zhuǎn)到開發(fā)者的網(wǎng)頁。?

4、創(chuàng)建AVPro Video對(duì)象

在Hierarchy視圖右擊或者選擇菜單欄的GameObject菜單,然后選擇UI->AVPro Video。

然后將剛剛的Media Player對(duì)象拖給面板中的Media Player屬性,Default Texture和No Default Display可以設(shè)置顯示縮略預(yù)覽圖,Keep Aspect Ratio可以選擇是否保持視頻分辨率。其他的設(shè)置和UGUI的Image類似,不再贅述。?

5、在Text上播放視頻

雖然感覺不是很有用,但是很炫酷的功能。方法很簡單,先創(chuàng)建一個(gè)Media Player對(duì)象,然后創(chuàng)建一個(gè)Text對(duì)象,在Text上添加Apply To Material腳本。創(chuàng)建一個(gè)Shader為UI/Default Font-Extra Texture的材質(zhì),對(duì)Apply To Material進(jìn)行如下圖所示設(shè)置即可:?

6、使用腳本動(dòng)態(tài)控制播放。

插件Demo中有一個(gè)Demo_VideoControls,包含一個(gè)VRC.cs,這個(gè)腳本中有詳細(xì)的視頻播放的控制功能,參照這個(gè)腳本就能實(shí)現(xiàn)自己想要的控制功能。比如一些常用的功能:

public MediaPlayer _mediaPlayer;// 播放public void OnPlayButton(){if( _mediaPlayer ){_mediaPlayer.Control.Play();}}// 暫停public void OnPauseButton(){if( _mediaPlayer ){_mediaPlayer.Control.Pause();}}// 重播public void OnRewindButton(){if( _mediaPlayer ){_mediaPlayer.Control.Rewind();}}// 調(diào)節(jié)音量public void OnAudioVolumeSlider(){if (_mediaPlayer && _audioVolumeSlider && _audioVolumeSlider.value != _setAudioVolumeSliderValue){_mediaPlayer.Control.SetVolume(_audioVolumeSlider.value);}}// 靜音public void OnMuteChange(){if (_mediaPlayer){_mediaPlayer.Control.MuteAudio(_MuteToggle.isOn);}}// 拖動(dòng)進(jìn)度public void OnVideoSeekSlider(){if (_mediaPlayer && _videoSeekSlider && _videoSeekSlider.value != _setVideoSeekSliderValue){_mediaPlayer.Control.Seek(_videoSeekSlider.value * _mediaPlayer.Info.GetDurationMs());}}

總結(jié)

以上是生活随笔為你收集整理的AVProVideo的使用以及遇到的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。