Unity5.6 使用VideoPlayer的注意事項

兼容性

Unity在5.6版本加入了新的VideoPlayer來代替Moive Texture,正好手頭有個項目要使用視頻播放功能就試了一下。初期版本在安卓上還有些兼容性問題,官方說明暫時只 能完美支持4.4以上,而且還不能從AB中讀取。

如何指定開始的位置

官方文檔中指定開始位置有個坑,直接使用了videoplayer.frame=xxx這樣的方法。 其實這樣是沒有任何效果的。需要執行Prepare()方法初始化準備播放器之后設置才可以的。

示例代碼:

// use url
m_videoPlayer.source = VideoSource.Url;
m_videoPlayer.url = "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";

m_videoPlayer.skipOnDrop = true;

// 初始化準備
m_videoPlayer.Prepare();

// 檢查是否完成初始化
while(!m_videoPlayer.isPrepared)
{
    yield return new WaitForSeconds(1);
    break;
}

// 設置開頭是第100幀
m_videoPlayer.frame += 100;

// 開始播放
m_videoPlayer.Play();

全屏播放

如果想要全屏播放時,推薦Render Mode設置為Camera Far Plane | Camera Near Plane, 這樣做有幾個好處:

  1. 只需要調整target camera的depth屬性值即可更改幕布渲染層級
  2. 通過Aspect Ratio屬性,可以設置縮放屬性
  3. 不像使用Material Override一樣,需要一個單獨的幕布對象(Mesh Renderer), 所以也不需要考慮光源的影響。

這個屬性是在我寫了一個可自適應全屏的Mesh預制件之后才發現的。白瞎了時間...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容