Unity—VideoPlayer组件
VideoPlayer组件
在Unity中播放视频使用VideoPlayer组件;
在将VideoPlayer的Texture赋值给RawImage的Texture;
VideoPlayer中source来源可以是本地,也可以是url;
public class VideoControl : MonoBehaviour
{
private VideoPlayer videoPlayer;
private RawImage rawImage;
private Button playBtn; //开始播放按钮
public Slider percentPlaySdr; //进度条
public Hander handle; //进度条拖动块
void Start ()
{
videoPlayer = this.GetComponent <VideoPlayer> ();
rawImage = this.GetComponent <RawImage> ();
playBtn = this.GetComponent<Button>();
playBtn.onClick.AddListener(OnClickPlayBtn);
videoPlayer.prepareCompleted += (x) =>
{
rawImage.texture = videoPlayer.texture;
videoPlayer.errorReceived += (source, message) =>
{
Debug.LogError(message);
};
videoPlayer.Play();
Debug.Log("开始播放");
};
}
void Update ()
{
if(videoPlayer.texture == null)
return;
if(videoPlayer.isPlaying)
percentPlaySdr.value = (float)videoPlayer.frame / videoPlayer.frameCount;
if(handle.isON)
videoPlayer.frame = (long) (percentPlaySdr.value * videoPlayer.frameCount);
}
private void OnClickPlayBtn()
{
if(videoPlayer.isPaused)
videoPlayer.Play();
else if(videoPlayer.isPlaying)
videoPlayer.Pause();
}
}
public class Hander : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler
{
public bool isON = false;
public void OnPointerEnter(PointerEventData eventData)
{
isON = true;
}
public void OnPointerExit(PointerEventData eventData)
{
isON = false;
}
}
Life is too short for so much sorrow.
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0 许可协议。转载请注明来自 小紫苏!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)