您的位置:首页 > 移动开发 > Unity3D

Unity——VideoPlayer组件

2021-12-16 17:12 706 查看

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: