使用Raw Image和Unity自带的视频播放插件Video Player

使用Raw Image和Unity自带的视频播放插件Video Player导致视频不清晰

先创建Raw Image
在
在Raw Image身上添加Video Player和Audio Source组件
在这里插入图片描述
将需要播放的视频拖拽到Video Clip中,并且将Audio Output Mode设置为Audio Source
在这里插入图片描述
在Project面板中创建New Render Texture

在这里插入图片描述
然后将New Render Texture拖拽到Raw Image物体身上Video Clip组件中的Target Texture中,Raw Image组件中的Texture中
在这里插入图片描述

如果因为放大Raw Image或者什么原因导致视频播放不清楚的话,试试下面这个脚本

解决方法,在Raw Image身上添加脚本PlayVideoOn,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.UI;
//解决VideoClip不清晰问题
[AddComponentMenu("Video/PlayVideoOnUGUI")]
public class PlayVideoOn: MonoBehaviour
{
    //定义参数获取VideoPlayer组件和RawImage组件
    private VideoPlayer videoPlay;
    private RawImage rawimage;
    void Awake()
    {
        Screen.fullScreen = true;
        //获取场景中对应的组件
        videoPlay = this.GetComponent<VideoPlayer>();
        rawimage = this.GetComponent<RawImage>();
    }
    void Update()
    {
        //如果videoPlayer没有对应的视频texture,则返回
        if (videoPlay.texture == null)
        {  return; }
        //把VideoPlayerd的视频渲染到UGUI的RawImage
        rawimage.texture = videoPlayer.texture;
    }
}


好的,以下是使用VideoPlayer组件在Unity中打开视频的示例代码注释: ```csharp using UnityEngine; using UnityEngine.UI; using UnityEngine.Video; // 引入Video模块 public class OpenVideo : MonoBehaviour { public RawImage rawImage; // 用于显示视频RawImage组件 public VideoPlayer videoPlayer; // VideoPlayer组件 public string videoPath; // 视频路径 void Start() { // 在GameObject上添加VideoPlayer组件 videoPlayer = gameObject.AddComponent<VideoPlayer>(); // 配置VideoPlayer属性 videoPlayer.playOnAwake = false; videoPlayer.renderMode = VideoRenderMode.RenderTexture; // 从StreamingAssets中加载视频 videoPlayer.source = VideoSource.Url; videoPlayer.url = Application.streamingAssetsPath + "/" + videoPath; // 设置RawImage的纹理 rawImage.texture = videoPlayer.targetTexture; // 准备视频 videoPlayer.Prepare(); } // 点击按钮后打开视频 public void OnButtonClick() { // 播放视频 videoPlayer.Play(); } } ``` 在这个示例代码中,我们创建了一个OpenVideo脚本来打开视频。首先,我们在Start方法中添加VideoPlayer组件,并将其配置为从StreamingAssets中加载视频。然后,我们将RawImage的纹理设置为VideoPlayer的目标纹理,并使用Prepare方法准备视频。 在OnButtonClick方法中,我们调用VideoPlayer的Play方法来播放视频。 请注意,您需要将视频放置在Unity项目的StreamingAssets文件夹中,才能在代码中正确引用。另外,如果您使用的是本地视频,路径应该以“file://”开头。 希望这能帮助您在Unity使用UI打开视频
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值