unity学习31:Video Player 视频播放相关基础
目录
1 新增Video Player的 component
2 导入视频到Asset里
3 拖入到 video player的 video clip里去即可
4 渲染模式
4.1 多种渲染模式
4.2 如果选择 Render Texture模式
4.3 然后把Render Texture 拖到游戏里的 gameObject上面
5 在UI上显示
5.1 创建UI
5.2 在UI上播放
6 使用脚本播放Video
6.1 创建脚本,挂到对应的 gameObject上
6.2 代码测试
6.2.1 类型和音频有差别
6.2.2 VideoPlayer 并不需要指定clip为V1? 待查
6.2.3 VideoPlayer的 Pause() 以后继续 Play()即可,没有UnPause() 方法
6.2.4 详细代码
1 新增Video Player的 component
- 播放视频需要Video Player
- gameObject上增加一个 Video Player的 component
2 导入视频到Asset里
- 下载video后拖过去进行
- MP4是可以的
3 拖入到 video player的 video clip里去即可
4 渲染模式
4.1 多种渲染模式
- Render Texture
- camera for plane
- camera near plane
- material Override
- API only
4.2 如果选择 Render Texture模式
- Render Mode选择 Render Texture
- 新建1个Render Texture
- 拖入到 target Texture
4.3 然后把Render Texture 拖到游戏里的 gameObject上面
- 然后把Render Texture 拖到游戏里的 gameObject上面
5 在UI上显示
5.1 创建UI
- 创建UI
- UI / Raw Image
5.2 在UI上播放
- 也是在纹理里拖入 rander Texture
- 选择2D模式,就可以播放了
6 使用脚本播放Video
6.1 创建脚本,挂到对应的 gameObject上
创建脚本,挂到对应的 gameObject上,比如之前的这个竖着的板子上
6.2 代码测试
6.2.1 类型和音频有差别
- private VideoPlayer player1;
- private AudioSource1player1;
6.2.2 VideoPlayer 并不需要指定clip为V1? 待查
player1=GetComponent<VideoPlayer>();
// 不需要指定clip为V1?
//player1.clip=v1;
//player1.loop=true;
//player1.volume=0.5f;
player1.Play();
6.2.3 VideoPlayer的 Pause() 以后继续 Play()即可,没有UnPause() 方法
- //继续播放
- player1.Play();
6.2.4 详细代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class TestVideo : MonoBehaviour
{
//声明VideoClip
public VideoClip v1; //绑定外部clip
//定义播放器组件
private VideoPlayer player1;
// Start is called before the first frame update
void Start()
{
player1=GetComponent<VideoPlayer>();
// 不需要指定clip为V1?
//player1.clip=v1;
//player1.loop=true;
//player1.volume=0.5f;
player1.Play();
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
if(player1.isPlaying==true)
{
//暂停播放
player1.Pause();
//player1.Stop();
}
else
{
//继续播放
player1.Play();
//player1.Play();
}
}
}
}