Unity实现类似于苹果视频播放器视频播放进度条及声音进度条拖拽功能
前言
我在之前的博客里介绍过关于VideoPlayer的简单使用流程,之前一直想研究下videoPlayer中的使用进度条控制视频播放进度及声音大小的功能,一直没有时间去研究。在之前的项目中,很巧合的实现了这个功能,于是在这篇博客中将之前的技术做个总结,写在这里。实现效果如下图所示:
实现步骤
1.编写视频播放脚本,脚本代码如下所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.UI;
namespace MoviePlay
{
public class PlayVideo : MonoBehaviour
{
#region 参数
//定义参数获取video组件和RawImage组件
public VideoPlayer videoPlayer;
public RawImage rawImage;
public string[] movieUrl;
internal bool isPlay = false;
//声音播放组件
public AudioSource thisAudioSource;
//是否静音
bool isMute = false;
//游戏管理类
//ThisGameManager gameManager;
//控制按钮上的文字
//public Text bofangText;
//按钮图片
public Image bofangButtonImage;
//按钮图片精灵数组
public Sprite[] thisSprite;
//Slider
public Slider videoTimeSlider;
//音量控制Slider
public Slider yinSlider;
#endregion
#region 基本方法
// Use this for initialization
void Start()
{
BeginString();
}
// Update is called once per frame
void Update()
{
PlayMovie();
}
#endregion
#region 私有方法
/// <summary>
/// 初始化数据
/// </summary>
void BeginString()
{
//videoPlayer = GameObject.Find("moviePlayManager").GetComponent<VideoPlayer>();
//thisAudioSource = GameObject.Find("moviePlayManager").GetComponent<AudioSource>();
//gameManager = GameObject.Find("Canvas").GetComponent<ThisGameManager>();
//movieUrl[0] = Application.streamingAssetsPath + "/视频/0.mp4";
isPlay = false;
}
/// <summary>
/// 播放视频函数
/// </summary>
void PlayMovie()
{
//如果videoPlayer没有对应的视频texture,则返回