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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Unity3d】在Unity3d中播放视频:AVPro Video的使用

發布時間:2023/12/29 编程问答 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Unity3d】在Unity3d中播放视频:AVPro Video的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、插件介紹

之前講到使用Unity的MoveTexture和Image來實現簡單的播放器,雖然可以實現簡單的視頻播放功能,但是對于商業化或者移動端的項目來說遠遠不夠。RenderHeads提供了一款unity3d使用的具有強大功能的視頻播放插件,不僅可以實現基礎的播放功能,還能實現進度條拖放和速率調整,播放4K視頻,360度全景視頻等,并對不同的平臺進行了優化。這里簡單講一下基于UGUI的視頻播放功能。?

2、創建Media Player對象

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

2.1、基礎設置

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

2.2、Events

Events是一個MediaPlayerEvent屬性,繼承了UnityEvent類,使用起來跟UGUI的Button控件的event類似,不同的是我們提供的方法需要有三個參數,MediaPlayer、MediaPlayerEvent.EventType和ErrorCode。其中EventType是播放器的一些狀態,有如下幾種:

  • MetaDataReady:視頻數據準備完成

  • ReadyToPlay:視頻加載完成,準備播放

  • Started:視頻開始播放

  • FirstFrameReady:第一幀渲染完成

  • FinishedPlaying:非循環播放的視頻播放完畢

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三個參數都需聲明,但只需要對EventType進行判斷,其余兩個變量是情況使用。

  • 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;

  • }

  • }

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.3、其他設置

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

  • Media Properties:貼圖的過濾、循環模式和Aniso level的設置,音頻的立體聲設置等。
  • Global Settings:顯示當前的開發平臺,可以設置是否受TimeScale影響。
  • Preview:視頻播放時可以查看播放情況,包括拖動進度,重播,顯示Alpha通道,查看當前幀的貼圖,保存當前幀貼圖等。
  • PlatForm Overrides:可以重寫相應平臺播放的視頻路徑等。
  • About:插件的相關信息,可以點擊這一項中的按鈕快捷跳轉到開發者的網頁。?
    ?
  • 3、創建AVPro Video對象

    在Hierarchy視圖右擊或者選擇菜單欄的GameObject菜單,然后選擇UI->AVPro Video。?
    ?
    ?
    然后將剛剛的Media Player對象拖給面板中的Media Player屬性,Default Texture和No Default Display可以設置顯示縮略預覽圖,Keep Aspect Ratio可以選擇是否保持視頻分辨率。其他的設置和UGUI的Image類似,不再贅述。?

    4、在Text上播放視頻

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

    5、使用腳本動態控制播放。

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

  • 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();

  • }

  • }

  • // 調節音量

  • public void OnAudioVolumeSlider()

  • {

  • if (_mediaPlayer && _audioVolumeSlider && _audioVolumeSlider.value != _setAudioVolumeSliderValue)

  • {

  • _mediaPlayer.Control.SetVolume(_audioVolumeSlider.value);

  • }

  • }

  • // 靜音

  • public void OnMuteChange()

  • {

  • if (_mediaPlayer)

  • {

  • _mediaPlayer.Control.MuteAudio(_MuteToggle.isOn);

  • }

  • }

  • // 拖動進度

  • public void OnVideoSeekSlider()

  • {

  • if (_mediaPlayer && _videoSeekSlider && _videoSeekSlider.value != _setVideoSeekSliderValue)

  • {

  • _mediaPlayer.Control.Seek(_videoSeekSlider.value * _mediaPlayer.Info.GetDurationMs());

  • }

  • }

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    6、插件效果

    播放效果展示:?
    ?
    官方Apply To Material效果:?

    總結

    以上是生活随笔為你收集整理的【Unity3d】在Unity3d中播放视频:AVPro Video的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 99国产在线观看 | 亚洲国产精品欧美久久 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 日本网站免费 | 黄色资源网站 | 假日游船 | 久久桃花网 | 色视频一区 | 毛片毛多水多 | 国产高清区| 搞中出| 成人精品免费 | 欧美综合第一页 | 香蕉一级片| 久久99热这里只有精品 | 国产91精品一区二区麻豆亚洲 | 91久久久久国产一区二区 | 成人黄色片网站 | 最新黄色在线 | 亚洲高清视频一区二区 | 天堂av观看 | 亚洲在线| 天天狠天天透 | 亚洲男人的天堂av | 国产嫩草影院久久久久 | 啪啪网站免费看 | 欧美日韩一区二区电影 | av中文字幕一区二区三区 | 精品久久九九 | 视频1区2区 | 国产精品高潮呻吟AV无码 | 淫片aaa| 99精品无码一区二区 | 成人精品黄段子 | 欧美国产免费 | 1024视频在线 | 亚洲性图av | 超碰在线国产 | 国产福利视频在线观看 | 日韩精品一区二区亚洲av性色 | 海角社区在线视频播放观看 | 四虎影视国产精品 | 午夜免费一区 | 99这里只有精品 | 亚洲av无码一区东京热久久 | 国产www | 久久久久综合网 | 成人精品一区二区 | www久久99| 久草中文在线 | 国产日韩欧美不卡 | 亚洲美女中文字幕 | 天堂网ww | 国产午夜精品久久久 | 爱爱视频免费看 | 男人天堂电影 | 操你妹影院 | 舒淇裸体午夜理伦 | 中文字幕第15页 | 色免费看 | 牛人盗摄一区二区三区视频 | 国产偷国产偷av亚洲清高 | 老色驴综合网 | 欧洲综合视频 | 精品视频在线观看一区 | 欧洲色网站 | 国产精品视频一二三区 | 无码日本精品xxxxxxxxx | 欧美激情在线一区 | xxx性日本| 91国偷自产一区二区三区女王 | 国产有码在线观看 | hd丰满圆润的女人hd | jizzjizzjizz国产| 成人精品国产免费网站 | 丰满熟妇人妻中文字幕 | 亚洲精品成人电影 | 精品久久视频 | 精国产品一区二区三区a片 国产精品第一 | 欧美片一区二区 | 性免费网站 | 国产无遮挡免费视频 | 91插插插插插插插插 | 国产一二三区精品 | 国产激情一区二区三区 | 成人在线视频一区二区三区 | 日韩美女国产精品 | 69视频一区 | 亚洲国产视频网站 | 国产免费99| 小视频在线 | 女性裸体视频网站 | 久久久精品毛片 | 少妇性xxxxxxxxx色武功 | 人人爱爱| 成人高潮片免费视频 | 欧美日韩一区二区三区在线视频 | 成人少妇影院yyyy | 国产精品三级av |