使用AVPro Video插件完成切换多个视频播放功能

使用AVPro Video插件完成切换多个视频播放功能


功能:搭建好UI界面后,点击视频播放列表,跳转到相对应视频并且播放,点击播放的上一个或是下一个按钮,可以来回切换视频的播放
特点:使用了AVPro Video插件,在基于Demo文件夹下的Demo_VideoControls场景,修改了VCR脚本里的几个方法的逻辑
1.给每一个点击列表UI添加Button按钮,绑定脚本的Bofangliebiao方法,在获取VCR脚本时要去掉脚本自带的namespace RenderHeads.Media.AVProVideo.Demos保护类型,不然获取不到,点击列表播放视频时调用

 public void Bofangliebiao()  
      {  
          var sender = EventSystem.current.currentSelectedGameObject;  

        switch (sender.name)  
         {  
            case "冲裁间隙对冲压质量的影响":  
                tiaozhan(0);  
               break;  
            case "凸凹模刃口尺寸计算":  
                 tiaozhan(1);  
               break;  
            case "冲裁力与模具设计":  
              tiaozhan(2);  
                 break;  
            case "相对弯曲半径":  
                 tiaozhan(3);  
               break;  
            case "弯曲成形回弹":  
               tiaozhan(4);  
                break;  
            case "拉伸系数的影响":  
                 tiaozhan(5);  
                 break;  
            case "压边力的影响":  
                tiaozhan(6);  
                break;  
            default:  
                 break;  

         }   
      }  
    public void tiaozhan(int aa)   
      {  
        VCR._VideoIndex = aa;  
        GameObject.Find("VCR").GetComponent<VCR>().OnOpenVideoFile();  
       GameObject.Find("VCR").GetComponent<VCR>().OnPlayButton();  

    } 

2.导入AVPro Video插件后,在VCR脚本的视频播放数组上添加要播放的多个视频;
这里写图片描述
并且改变VCR脚本自定义的 string[] _videoFiles数组的值;
这里写图片描述

3.在上一个button按钮上绑定VCR.OnLastVideoFile方法,
在下一个button按钮上绑定VCR.OnNextVideoFile方法,执行代码
这里写图片描述

代码如下:

 public static int _VideoIndex = 0;  

  3.         public void OnOpenVideoFile()  
  4.         {  
  5.             _mediaPlayer.m_VideoPath = string.Empty;  
  6.             _mediaPlayer.m_VideoPath = _videoFiles[_VideoIndex];  
  7.             _VideoIndex = (_VideoIndex) % (_videoFiles.Length);  
  8.             if (string.IsNullOrEmpty(_mediaPlayer.m_VideoPath))  
  9.             {  
  10.                 _mediaPlayer.CloseVideo();  
  11.   
  12.                 _VideoIndex = 0;  
  13.             }  
  14.             else  
  15.             {  
  16.                 _mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, _mediaPlayer.m_VideoPath, _AutoStartToggle.isOn);  
  17.   
  18.                 OnPlayButton();  
  19.   
  20.                 //              SetButtonEnabled( "PlayButton", !_mediaPlayer.m_AutoStart );  
  21.                 //              SetButtonEnabled( "PauseButton", _mediaPlayer.m_AutoStart );  
  22.             }  
  23.         }  
  24.          
  25.         //切换到下一个视频  
  26.         public void OnNextVideoFile()  
  27.         {  
  28.             if (_VideoIndex < _videoFiles.Length&&_VideoIndex>=0)  
  29.             {  
  30.                 _VideoIndex = (_VideoIndex + 1) % (_videoFiles.Length);  
  31.                 _mediaPlayer.m_VideoPath = string.Empty;  
  32.                 _mediaPlayer.m_VideoPath = _videoFiles[_VideoIndex];  
  33.                 if (string.IsNullOrEmpty(_mediaPlayer.m_VideoPath))  
  34.                 {  
  35.                     _mediaPlayer.CloseVideo();  
  36.   
  37.                     _VideoIndex = 0;  
  38.                 }  
  39.                 else  
  40.                 {  
  41.                     _mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, _mediaPlayer.m_VideoPath, _AutoStartToggle.isOn);  
  42.   
  43.                     OnPlayButton();  
  44.   
  45.                     //              SetButtonEnabled( "PlayButton", !_mediaPlayer.m_AutoStart );  
  46.                     //              SetButtonEnabled( "PauseButton", _mediaPlayer.m_AutoStart );  
  47.                 }  
  48.             }  
  49.             else return;  
  50.              
  51.         }  
  52.         //切换到上一个视频  
  53.         public void OnLastVideoFile()  
  54.         {  
  55.             if (_VideoIndex > 0)  
  56.             {  
  57.                 _VideoIndex = (_VideoIndex - 1) % (_videoFiles.Length);  
  58.                 _mediaPlayer.m_VideoPath = string.Empty;  
  59.                 _mediaPlayer.m_VideoPath = _videoFiles[_VideoIndex];  
  60.                 if (string.IsNullOrEmpty(_mediaPlayer.m_VideoPath))  
  61.                 {  
  62.                     _mediaPlayer.CloseVideo();  
  63.                     // _VideoIndex = 0;  
  64.                 }  
  65.                 else  
  66.                 {  
  67.                     _mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, _mediaPlayer.m_VideoPath, _AutoStartToggle.isOn);  
  68.                     OnPlayButton();  
  69.                 }  
  70.   
  71.             }  
  72.             else return;          
  73.              
  74.         }  

PS:自用

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值