【EasyAR学习】在线播放视频

【接上一篇博客】

我们已经知道如何播放本地视频,如果视频很多,打包起来就会很大,那么接下来就探究一下如何播放在线视频,通过网络来加载视频。

Step3:在线视频播放

1、将ImageTarget预制体拖入到Hierarchy面板中去,并重命名为"URL_Play"。

【EasyAR学习】在线播放视频_第1张图片

2、新建一个脚本AutoPlay_URL.cs ,脚本内容与上面创建本地视频播放时的SampleImageTargetBehaviour.cs脚本内容相同(直接将代码复制过来就行了)。将AutoPlay_URL.cs挂载到URL_Play预制体上。

3、在Inspector面板填写信息:(注意,一定要将Storage的格式修改为Assets)

Path: 识别图的路径

Name:识别图的名字

Size:识别图的大小

【EasyAR学习】在线播放视频_第2张图片

下面是识别图片EasyAR.jpg(图片路径我是放在Assets\showvideo\Textures\EasyAR.jpg)

【EasyAR学习】在线播放视频_第3张图片

4、新建个材质球,将识别图EasyAR作为贴图放入材质球,将材质球放入如下图地方.

【EasyAR学习】在线播放视频_第4张图片     【EasyAR学习】在线播放视频_第5张图片

5、然后在URL_Play下新建一个 3D Object ->Plane ,Plane的大小决定了你的视频大小,所以要适当调整Plane大小。然后把EasyAR->Scripts->VideoPlayerBehaviour.cs这个脚本挂载到Plane,进入Plane的inspector视图,填写VideoPlayerBehaviour的信息。(Path可以先不填,因为我们需要代码获取URL)

【EasyAR学习】在线播放视频_第6张图片

6、新建一个文件夹"Resources",将制作好的Plane 放进去制成预制体。

【EasyAR学习】在线播放视频_第7张图片

7、在AutoPlay_URL.cs 脚本中继续编写相关代码:

首先在开头定义一个URL

private string video = @"https://sightpvideo-cdn.sightp.com/sdkvideo/EasyARSDKShow201520.mp4";

接着定义一个方法"LoadVideo()" 来加载视频资源。

public void LoadVideo()
    {
        GameObject subGameObject = Instantiate(Resources.Load("Plane", typeof(GameObject))) as GameObject;
        subGameObject.transform.parent = this.transform;
        subGameObject.transform.localPosition = new Vector3(0, 0.225f, 0);//位置,数值可以自己设置
        subGameObject.transform.localRotation = new Quaternion();//旋转,数值可以自己设置
        subGameObject.transform.localScale = new Vector3(0.8f, 0.45f, 0.45f);//缩放,数值可以自己设置

        VideoPlayerBaseBehaviour videoPlayer = subGameObject.GetComponent();
        if (videoPlayer)
        {
            videoPlayer.Storage = StorageType.Absolute;
            videoPlayer.Path = video;
            videoPlayer.EnableAutoPlay = true;//自动播放
            videoPlayer.EnableLoop = true;//循环播放
            videoPlayer.Open();
        }
}

最后在Start ()方法中调用即可:

protected override void Start()
{
      base.Start();
      LoadVideo();
}

8、保存场景,并打包成apk运行。

9、在手机上运行时,发现播放在线视频,依旧是只有声音,没有显示画面。




你可能感兴趣的:(EasyAR)