兼容性
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
, 這樣做有幾個好處:
- 只需要調整target camera的depth屬性值即可更改幕布渲染層級
- 通過Aspect Ratio屬性,可以設置縮放屬性
- 不像使用Material Override一樣,需要一個單獨的幕布對象(Mesh Renderer), 所以也不需要考慮光源的影響。
這個屬性是在我寫了一個可自適應全屏的Mesh預制件之后才發現的。白瞎了時間...