unity3d 内置视频的播放的几种方式

版权声明:除注明转载或参考的文章皆为原创,转载请注明出处。 https://blog.csdn.net/lengyoumo/article/details/85619060

unity自带组件播放:

1, 在舞台中新建一个空白物体(UI层中)。并添加 video player和raw image 组件
2,新建一个脚本,添加在刚刚的空白物体物体上。
3,编写脚本;

using UnityEngine.Video;
//获取组件
VideoPlayer videoPlayer = gameObject.GetComponent.<VideoPlayer>();
RawImage rawImage = gameObject.GetComponent<RawImage>();

//设置视频
VideoClip videoclip = 
(VideoClip)Resources.Load("movie/afd.mp4", typeof(VideoClip));

//播放视频
videoclip.play();

//将视频附在指定贴图上并刷新
   private void Update()
    {
        if (rawImage.texture == null)
        {         
            rawImage.texture = videoPlayer.texture;         
        }
    }

**该方法不支持移动端

2 使用unity自带方法在移动端播放,播放视频时自动启用视频播放器全屏播放

string filepath =Application.streamingAssetsPath + "/video.ab";
Handheld.PlayFullScreenMovie(filepath, Color.black, FullScreenMovieControlMode.Full);

**该方法只能支持移动端播放,而且只能全屏,可以设置是否显示播放控件

3 视频插件easymovietexture方法

1,在物体上加上mediaplayerctrl组件。
2,新建脚本添加组件,并填写下列代码

private MediaPlayerCtrl mediaPlayerCtrl;
private RawImage rawImage;

rawImage = mediaplayerMask.transform.Find("RawImage").gameObject.GetComponent<RawImage>();

  mediaPlayerCtrl = this.moduleComponents.transform.Find("Mask").Find("RawImage").gameObject.GetComponent<MediaPlayerCtrl>();
        mediaPlayerCtrl.Load("video.mp4");//加载视频	//mediaPlayerCtrl.Load("http://vjs.zencdn.net/v/oceans.mp4");mediaPlayerCtrl.DownloadStreamingVideoAndLoad("video.ab");
		
        mediaPlayerCtrl.m_bFullScreen = true;
        mediaPlayerCtrl.m_bAutoPlay  = false;
        
        //将视频附材质
    private void Update()
    {
        if (rawImage.texture == null)
        {         
            rawImage.texture = mediaPlayerCtrl.GetVideoTexture();         
        }
        }
//播放
 mediaPlayerCtrl.Play();

***该方式跨平台,全支持!!!

猜你喜欢

转载自blog.csdn.net/lengyoumo/article/details/85619060