
大家好,本篇记录一下webgl播放视频,用的是videoPlayer组件, 不定时更新unity开发技巧,觉得有用记得一键三连哦。
接下来就一步步实现吧
unity播放本地视频
在Hierarchy面板右键创建VideoPlayer组件






到此UI就设置完成了 注意: 1.设置宽高,这个最好与视频的宽高匹配,或者同比例缩放 2.Texture需要跟VideoPlayer组件中Target Texture对象一致
新建脚本VideoPlayerUrl.cs,编辑代码
(示例)
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Video;
public class VideoPlayerUrl : MonoBehaviour
{
public VideoPlayer videoPlayer;
void Start()
{
string path = Path.Combine(Application.streamingAssetsPath, "123456.mp4");
Debug.Log(path);
videoPlayer.url = path;
videoPlayer.Play();
}
}(1)注意路径,需要把视频放到StreamingAssets文件夹内,设置好自己视频的路径 (2)使用了Path.Combine来拼接两个路径,关于这个API还有更多应用就不累述 (3)错误路径写法:“file://” + Application.streamingAssetsPath + “/123456.mp4”
反正webgl是必须要用Path.Combine ,PC不需要直接 Application.streamingAssetsPath就可以 Android和ios好像也不一样,具体的百度一下就行了,
unity播放本地视频
1.不需要判断视频的长度什么的


增加功能 : 解决播放视频总是闪上一个视频的画面问题 、问题原因: 主要因为用RenderTexture取渲染播放的,当视频播放完成之后,会在将最后一帧的画面定格在RenderTexture上 2、解决办法: 在播放之前或者播放完之后,释放RenderTexture上的资源,调用方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class BoFangVideo : MonoBehaviour
{
public VideoPlayer videoPlayer;
public RenderTexture renderTexture;
// Start is called before the first frame update
void Start()
{
//解决播放视频总是闪上一个视频的画面问题清除渲染缓存
renderTexture.Release();
}
// Update is called once per frame
void Update()
{
}
}补充:
videoPlayer.SetDirectAudioMute(0, true); // 静音// HTML侧限制文件类型
<input type="file" accept="video/mp4, video/webm">如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。 你的点赞就是对博主的支持,有问题记得留言评论或私聊哦 博客将会介绍Unity3DWEBGL播放本地视频用(VideoPlayer)。 希望这篇博客对Unity的开发者有所帮助。 大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 欢迎点赞评论哦.下面就让我们进入正文吧 !