兼容性
Unity在5.6版本加入了新的VideoPlayer來代替Moive Texture瞒斩,正好手頭有個(gè)項(xiàng)目要使用視頻播放功能就試了一下。初期版本在安卓上還有些兼容性問題,官方說明暫時(shí)只 能完美支持4.4以上入热,而且還不能從AB中讀取潮孽。
如何指定開始的位置
官方文檔中指定開始位置有個(gè)坑,直接使用了videoplayer.frame=xxx
這樣的方法宇葱。 其實(shí)這樣是沒有任何效果的瘦真。需要執(zhí)行Prepare()
方法初始化準(zhǔn)備播放器之后設(shè)置才可以的。
示例代碼:
// use url
m_videoPlayer.source = VideoSource.Url;
m_videoPlayer.url = "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";
m_videoPlayer.skipOnDrop = true;
// 初始化準(zhǔn)備
m_videoPlayer.Prepare();
// 檢查是否完成初始化
while(!m_videoPlayer.isPrepared)
{
yield return new WaitForSeconds(1);
break;
}
// 設(shè)置開頭是第100幀
m_videoPlayer.frame += 100;
// 開始播放
m_videoPlayer.Play();
全屏播放
如果想要全屏播放時(shí)黍瞧,推薦Render Mode設(shè)置為Camera Far Plane | Camera Near Plane
, 這樣做有幾個(gè)好處:
- 只需要調(diào)整target camera的depth屬性值即可更改幕布渲染層級(jí)
- 通過Aspect Ratio屬性诸尽,可以設(shè)置縮放屬性
- 不像使用Material Override一樣,需要一個(gè)單獨(dú)的幕布對(duì)象(Mesh Renderer), 所以也不需要考慮光源的影響印颤。
這個(gè)屬性是在我寫了一個(gè)可自適應(yīng)全屏的Mesh預(yù)制件之后才發(fā)現(xiàn)的您机。白瞎了時(shí)間...