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;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM