/// <summary>
    /// 播放错误回调
    /// </summary>
    private void OnEncounteredError(UniversalMediaPlayer p)
    {
        int maxReconnectTime = TryGetMaxConnectTime();

        if (currentReconnectTime < maxReconnectTime)
        {
            currentReconnectTime++;
            if (CurrentCameraDev != null)
            {
                string path = p == null ? "" : p.Path;
                Debug.LogErrorFormat("ReconnectVideo:{0} connectTimes:{1}", path, currentReconnectTime);
                DestroyImmediate(p.transform.gameObject);
                if (!IsInvoking("ShowVideoByReconnect"))
                {
                    Invoke("ShowVideoByReconnect", 0.1f);
                }
            }
            else
            {
                Log.Error("CameraAlarmFollowUI.OnEncounteredError.CurrentCameraDev is null!");
            }
        }
        else
        {
            //Debug.LogError("Error:" + player.LastError);
            DestroyImmediate(p.transform.gameObject);
            connectBg.SetActive(true);
            if (VedioPrompt)
            {
                VedioPrompt.text = "视频连接失败!";
            }
            UGUIMessageBox.Show("视频连接失败!");
        }
    }
 /// <summary>
 /// 显示视屏(通过Rtsp地址)
 /// </summary>
 /// <param name="rtspUrl"></param>
 public void ShowVideo(string rtspUrl, UniversalMediaPlayer vedioPlayer)
 {
     try
     {
         if (connectBg)
         {
             connectBg.SetActive(true);
         }
         if (vedioPlayer)
         {
             if (vedioPlayer.Player == null)
             {
                 Debug.LogError("Error : RtspVideo.ShowVideo-> vedioPlayer.Player == null!");
                 return;
             }
             if (vedioPlayer.IsPlaying)
             {
                 vedioPlayer.Stop();
             }
             vedioPlayer.Path     = rtspUrl;
             vedioPlayer.Volume   = 100;
             vedioPlayer.PlayRate = 1;
             vedioPlayer.Play();
         }
         else
         {
             Debug.LogError("Error : RtspVideo.ShowVideo-> UniversalMediaPlayer is null!");
         }
     }
     catch (Exception ex)
     {
         Debug.LogError("Error : RtspVideo.ShowVideo-> " + ex);
     }
 }
Exemplo n.º 3
0
/*
 * How to reproduce the bug:
 * 1. Run the app on an Android device.
 * 2. Press Play button.
 * 3. After the video has been started, press Quit.
 * 4. Run the app again.
 * 5. Press Play button.
 * 6. Crash.
 */

    public void PlayButtonHandler()
    {
        UniversalMediaPlayer player = FindObjectOfType <UniversalMediaPlayer>();

        Assert.IsNotNull(player);
        player.Path = "rtmp://vd2.wmspanel.com/video_demo/stream";
        player.Play();
    }
 /// <summary>
 /// 播放错误回调
 /// </summary>
 private void OnEncounteredError(UniversalMediaPlayer p)
 {
     //Debug.LogError("Error:" + player.LastError);
     DestroyImmediate(p.transform.gameObject);
     connectBg.SetActive(true);
     VedioPrompt.text = "视频连接失败!";
     UGUIMessageBox.Show("视频连接失败!");
 }
Exemplo n.º 5
0
 public override void Init(params object[] args)
 {
     base.Init(args);
     videoPLayerRoot = PanManager.GlobalUIRoot.Find("3DVideoRoot").transform;
     videoPLayerRoot.gameObject.SetActive(true);
     mediaPlayer      = videoPLayerRoot.Find("360SphereVideo/UniversalMediaPlayer").GetComponent <UniversalMediaPlayer>();
     videoCameraTran  = videoPLayerRoot.Find("VideoCamera");
     mediaPlayer.Path = args[0].ToString();
     mediaPlayer.Play();
 }
Exemplo n.º 6
0
    private void Awake()
    {
        if (UniversalMediaPlayer.IsValidLibrary())
        {
            _player = Instantiate(PlayerPrefab, VideoContainer);
            return;
        }

        _player = null;
        VideoWallsLibrary.Find("VideoBlocked").gameObject.SetActive(true);
        VideoWallsLibrary.Find("NewVideo").gameObject.SetActive(false);
        VideoWallsLibrary.Find("VideoLoaded").gameObject.SetActive(false);
    }
 /// <summary>
 /// 绑定播放错误事件
 /// </summary>
 /// <param name="action"></param>
 private void AddEncounteredEvent(UniversalMediaPlayer vedioPlayer, Action action = null)
 {
     if (vedioPlayer)
     {
         vedioPlayer.AddEncounteredErrorEvent(() =>
         {
             OnEncounteredError(vedioPlayer);
         });
         vedioPlayer.AddPlayingEvent(OnVideoPlay);
     }
     if (action != null)
     {
         action();
     }
 }
Exemplo n.º 8
0
    public void PlayCreditsRoll()
    {
        umpPlayer = GameObject.FindWithTag("UMP");
        ump       = umpPlayer.GetComponent <UniversalMediaPlayer>();

        if (!showing)
        {
            ump.Path = path;
            ump.Play();
            showing = true;
        }
        else
        {
            ump.PlayRate = 2;
        }
    }
Exemplo n.º 9
0
    // Start is called before the first frame update
    void Start()
    {
        // ========== CCTV Streaming ==========
        ump          = GameObject.Find("UMP").GetComponent <UniversalMediaPlayer>();
        cctvView     = GameObject.Find("CCTV_View").GetComponent <RawImage>();
        txtStreaming = GameObject.Find("TXT_Streaming").GetComponent <Text>();

        // ========== Control PTZ ==========
        ipAddress  = GameObject.Find("IFD_IP").GetComponent <InputField>();
        btnLeft    = GameObject.Find("BTN_Left").GetComponent <Button>();
        btnRight   = GameObject.Find("BTN_Right").GetComponent <Button>();
        btnUp      = GameObject.Find("BTN_Up").GetComponent <Button>();
        btnDown    = GameObject.Find("BTN_Down").GetComponent <Button>();
        btnZoomIn  = GameObject.Find("BTN_ZoomIn").GetComponent <Button>();
        btnZoomOut = GameObject.Find("BTN_ZoomOut").GetComponent <Button>();
    }
    /// <summary>
    /// 打开当前设备的监控视频
    /// </summary>
    /// <param name="cameraDev"></param>
    public void ShowCurrentCameraVedio(CameraDevController cameraDev)
    {
        if (CameraVideoManage.Instance)
        {
            Dev_CameraInfo camInfo = cameraDev.GetCameraInfo(cameraDev.Info);
            //   if (camInfo != null) CameraVideoManage.Instance.rtspVideo.ShowVideo(camInfo.RtspUrl, cameraDev.Info);
            if (IsMinPrompt)
            {
                if (string.IsNullOrEmpty(camInfo.RtspUrl))
                {
                    Debug.LogError("Error : RtspVideo.ShowVideo-> rtspURL is null!");
                    UGUIMessageBox.Show("Rtsp地址未输入!");
                    if (VedioPrompt)
                    {
                        VedioPrompt.text = "Rtsp地址未输入!";
                    }
                    if (CameraAlarmManage.Instance.VedioPrompt)
                    {
                        CameraAlarmManage.Instance.VedioPrompt.text = "Rtsp地址未输入!";
                    }
                    IsMinPrompt = true;
                    return;
                }
                if (!IsEffectiveURL(camInfo.RtspUrl))
                {
                    UGUIMessageBox.Show("Rtsp地址无效!");
                    if (VedioPrompt)
                    {
                        VedioPrompt.text = "Rtsp地址无效!";
                    }
                    IsMinPrompt = true;
                    return;
                }
            }


            GameObject Obj = Instantiate(VedioPrefabs, PlayParent.transform) as GameObject;
            Obj.transform.SetAsFirstSibling();
            Obj.SetActive(true);
            VedioPrefabs.SetActive(false);
            player = Obj.GetComponent <UniversalMediaPlayer>();
            AddEncounteredEvent(player, () =>
            {
                ShowVideo(camInfo.RtspUrl, player);
            });
        }
    }
Exemplo n.º 11
0
    public void Close()
    {
        if (_player == null)
        {
            return;
        }
        Destroy(_player.gameObject);
        _player        = Instantiate(PlayerPrefab, VideoContainer);
        _videoFilename = "";
        _offsetTime    = 0f;

        VideoName.text   = "";
        OffsetValue.text = "0.00";

        _player.Path = "";
        ShowVideoManager(false);
    }
Exemplo n.º 12
0
    /// <summary>
    /// 打开当前设备的监控视频
    /// </summary>
    /// <param name="cameraDev"></param>
    private void ShowCurrentCameraVedio()
    {
        try
        {
            if (CurrentCameraDev == null)
            {
                return;
            }
            if (CurrentCameraDev.Info != null)
            {
                TitleText.text = CurrentCameraDev.Info.Name;
            }
            else
            {
                TitleText.text = "监控视频";
                Debug.LogError("Error.VideofollowItem.ShowCurrentCameraVideo: CurrentCameraDev.Info is null:" + CurrentCameraDev.transform.name);
                return;
            }
            Dev_CameraInfo camInfo = CurrentCameraDev.GetCameraInfo(CurrentCameraDev.Info);
            if (string.IsNullOrEmpty(camInfo.RtspUrl))
            {
                Debug.LogError("Error : RtspVideo.ShowVideo-> rtspURL is null!");
                UGUIMessageBox.Show("Rtsp地址未输入!");
                return;
            }
            if (!IsEffectiveURL(camInfo.RtspUrl))
            {
                UGUIMessageBox.Show("Rtsp地址无效!");
                return;
            }

            GameObject Obj = Instantiate(VedioPrefab, VideoWindow.transform) as GameObject;
            Obj.transform.SetAsFirstSibling();
            Obj.SetActive(true);
            VedioPrefab.SetActive(false);
            player = Obj.GetComponent <UniversalMediaPlayer>();
            AddEncounteredEvent(player, () =>
            {
                ShowVideo(camInfo.RtspUrl, player);
            });
        }catch (Exception e)
        {
            Debug.LogErrorFormat("VideofollowItem.ShowCurrentCameraVideo.ErrorInfo:{0}", e.ToString());
        }
    }
Exemplo n.º 13
0
 private int currentReconnectTime; //当前重连次数
 /// <summary>
 /// 播放错误回调
 /// </summary>
 private void OnEncounteredError(UniversalMediaPlayer p)
 {
     Destroy(p.gameObject);//等待一秒再删除老播放器
     connectBg.SetActive(true);
     UGUIMessageBox.Show("视频连接失败!");
     //if (currentReconnectTime < maxReconnectTime)
     //{
     //    currentReconnectTime++;
     //    DestroyImmediate(p.transform.gameObject);//删除老的播放器
     //    ShowCurrentCameraVedio();
     //}
     //else
     //{
     //    //Debug.LogError("Error:" + player.LastError);
     //    DestroyImmediate(p.transform.gameObject);
     //    connectBg.SetActive(true);
     //    UGUIMessageBox.Show("视频连接失败!");
     //}
 }
Exemplo n.º 14
0
 /// <summary>
 /// 显示视屏(通过Rtsp地址)
 /// </summary>
 /// <param name="rtspUrl"></param>
 private void ShowVideo(string rtspUrl, UniversalMediaPlayer vedioPlayer)
 {
     if (connectBg)
     {
         connectBg.SetActive(true);
     }
     if (vedioPlayer)
     {
         if (vedioPlayer.IsPlaying)
         {
             vedioPlayer.Stop();
         }
         vedioPlayer.Path = rtspUrl;
         vedioPlayer.Play();
     }
     else
     {
         Debug.LogError("Error : RtspVideo.ShowVideo-> UniversalMediaPlayer is null!");
     }
 }
        // -------------------------------------------

        /*
         * We will apply the movement to the camera
         */
        private void PlayUMP(string _phoneNumber)
        {
#if ENABLE_STREAMING
            if (m_ump == null)
            {
                m_ump = GameObject.FindObjectOfType <UniversalMediaPlayer>();
                m_ump.RenderingObjects = new GameObject[1];
            }
            else
            {
                if (m_ump.IsPlaying)
                {
                    m_ump.Stop();
                }
            }
            if (m_ump != null)
            {
                m_ump.RenderingObjects[0] = m_streamingWindow.gameObject;
                m_ump.Path = GameConfiguration.URL_RTMP_SERVER_ASSISTANCE + _phoneNumber;
                m_ump.Prepare();
                m_ump.AddPreparedEvent(OnPreparedVideo);
            }
#endif
        }
    /// <summary>
    /// 打开摄像头监控视频
    /// </summary>
    /// <param name="cameraDev"></param>
    public void ShowCameraVedio(CameraDevController cameraDev, CameraAlarmFollowUI SmallUI)
    {
        Log.Debug("ShowCameraVedio", string.Format("{0},{1}", cameraDev, SmallUI));
        if (VedioPrompt != null)
        {
            VedioPrompt.text = "视频连接中...";
        }
        SmallCameraAlarmFollow = SmallUI;
        currentCameraDev       = cameraDev;
        CurrentDevID           = currentCameraDev.Info.Id.ToString();
        if (MaxCameraAlarmList.Count != 0)
        {
            MaxCameraAlarmList.Clear();
        }
        if (AlarmPushManage.Instance.NewestCameraAlarmPush != null)
        {
            MaxCameraAlarmList.AddRange(AlarmPushManage.Instance.NewestCameraAlarmPush);
        }


        if (!VedioWindow.activeSelf)
        {
            VedioWindow.SetActive(true);
        }
        VideoTog.isOn = true;

        TitleText.text = cameraDev.Info.Name;
        if (CameraVideoManage.Instance)
        {
            Dev_CameraInfo camInfo = cameraDev.GetCameraInfo(cameraDev.Info);
            //   if (camInfo != null) CameraVideoManage.Instance.rtspVideo.ShowVideo(camInfo.RtspUrl, cameraDev.Info);
            if (IsPrompt)
            {
                if (string.IsNullOrEmpty(camInfo.RtspUrl))
                {
                    Debug.LogError("Error : RtspVideo.ShowVideo-> rtspURL is null!");
                    if (VedioPrompt)
                    {
                        VedioPrompt.text = "Rtsp地址未输入!";
                    }
                    UGUIMessageBox.Show("Rtsp地址未输入!");
                    if (SmallCameraAlarmFollow.VedioPrompt)
                    {
                        SmallCameraAlarmFollow.VedioPrompt.text = "Rtsp地址未输入!";
                    }

                    return;
                }

                if (!IsEffectiveURL(camInfo.RtspUrl))
                {
                    UGUIMessageBox.Show("Rtsp地址无效!");
                    VedioPrompt.text = "Rtsp地址无效!";

                    return;
                }
            }

            GameObject Obj = Instantiate(VedioPrefabs, PlayParent.transform) as GameObject;
            Obj.transform.SetAsFirstSibling();
            Obj.SetActive(true);
            VedioPrefabs.SetActive(false);
            player = Obj.GetComponent <UniversalMediaPlayer>();
            AddEncounteredEvent(player, () =>
            {
                ShowVideo(camInfo.RtspUrl, player);
            });
        }
    }