Exemplo n.º 1
0
 void ReloadDataHandle(ImageTarget imageTarget, VideoTargetDate data)
 {
     for (int i = 0; i < videoTargetControllers.Count; i++)
     {
         if (videoTargetControllers[i].m_data.id == data.id)
         {
             videoTargetControllers[i].UpdateData(data);
         }
     }
 }
Exemplo n.º 2
0
    //初始化本地视频
    void InitLocalVideoCardTarget(VideoTargetDate data)
    {
        //var gameObj = new GameObject(imageTarget.Name);
        //gameObj.transform.SetParent(manager.transform);
        ImageTrackerBehaviour tracker  = FindObjectOfType <ImageTrackerBehaviour>();
        GameObject            _gameObj = new GameObject(data.targetUid);

        _gameObj.transform.localPosition = Vector3.zero;
        var targetBehaviour = _gameObj.AddComponent <CloudARVideoTargetBehaviour>();

        targetBehaviour.TargetFound += OnTargetFound;
        targetBehaviour.Bind(tracker);
        targetBehaviour.SetupWithImage(data.timeImgSrc, StorageType.Absolute, data.targetUid, Vector2.one * 12f);
        App.MgrPrefab.Create(_gameObj, "VideoTarget", Vector3.zero, (gameObj) => {
            gameObj.GetComponentInChildren <VideoTargetController>().Init(data, false);
        });
    }
Exemplo n.º 3
0
    //初始化视频
    void InitVideoCardTarget(ImageTarget imageTarget, VideoTargetDate data)
    {
        //var gameObj = new GameObject(imageTarget.Name);
        //gameObj.transform.SetParent(manager.transform);
        GameObject _gameObj        = new GameObject(imageTarget.Uid);
        var        targetBehaviour = _gameObj.AddComponent <CloudARVideoTargetBehaviour>();

        if (!targetBehaviour.SetupWithTarget(imageTarget))
        {
            return;
        }
        targetBehaviour.Bind(trackerBehaviour);
        targetBehaviour.TargetFound += OnTargetFound;
        App.MgrPrefab.Create(_gameObj, "VideoTarget", Vector3.zero, (gameObj) => {
            gameObj.GetComponentInChildren <VideoTargetController> ().Init(data);
            gameObj.GetComponentInChildren <VideoTargetController>().imageTarget = imageTarget;
        });
    }
Exemplo n.º 4
0
    //初始化
    public void Init(VideoTargetDate data, bool isCloud = true)
    {
        cam                       = GameObject.Find("ARCamera").transform;
        this.isCloud              = isCloud;
        targetName                = data.targetUid;
        ARCardTarget              = transform.GetComponentInParent <ImageTargetBaseBehaviour>();
        ARCardTarget.TargetFound += OnTargetFound;
        ARCardTarget.TargetLost  += OnTargetLost;

        cloudArManager = GameObject.FindObjectOfType <CloudARManager>();
        cloudArManager.videoTargetControllers.Add(this);
        m_data = data;
        this.selectedNumber               = 0;
        videoTargetBehaviour              = GetComponentInParent <CloudARVideoTargetBehaviour> ();
        videoTargetBehaviour.TargetFound += OnTargetFound_First;
        transform.localScale              = Vector3.one;
        //vPlayer.transform.rotation=Quaternion.Euler(new Vector3(180f,0,0));

        //准备完后自动播放
        vPlayer.VideoReadyEvent += (sender, e) => {
            //GameObject.FindObjectOfType<UIManager>().DebugToUI("ready");
            //激活视频collider(允许点击暂停)
            videoCollider.enabled = true;
            vPlayer.Play();
        };
        //播放结束后暂停
        vPlayer.VideoReachEndEvent += (sender, e) => {
            //GameObject.FindObjectOfType<UIManager>().DebugToUI("reachEnd");
            //停止播放
            //PauseVideo();
            //如果是第一次就展开动画
            if (isFirst)
            {
                StopCoroutine("IE_Spreadout");
                StartCoroutine("IE_Spreadout");
                isFirst = false;
            }
        };
        RefreshUI();

        UIManager._instance.DebugToUI("videoPlayer path: " + ARCardTarget.Path);
    }
Exemplo n.º 5
0
 public void UpdateData(VideoTargetDate data)
 {
     m_data = data;
     this.selectedNumber = 0;
     RefreshUI();
 }
Exemplo n.º 6
0
    IEnumerator LoadLocalImageTarget(string pwd, System.Action <VideoTargetDate> handle, System.Action errorHandle)
    {
        Dictionary <string, string> headers = new Dictionary <string, string>();

        headers.Add("Content-Type", "application/json");
        //headers.Add("token", App.MgrConfig._token);

        JsonData data = new JsonData();

        data["password"] = pwd;
        data["id"]       = App.MgrConfig._id;
        //byte[] bs = System.Text.UTF8Encoding.UTF8.GetBytes(data.ToJson());
        byte[] bs = System.Text.Encoding.UTF8.GetBytes(data.ToJson());
        Debug.Log(data.ToJson());
        WWW www = new WWW(App.MgrConfig._Server + "AR/local", bs, headers);

        yield return(www);

        Debug.Log(www.text);
        string m_info = string.Empty;

        if (www.error != null)
        {
            m_info = www.error;
            Debug.Log(m_info);
            yield return(null);
        }
        if (www.isDone && www.error == null)
        {
            Debug.Log(www.text);
            m_info = www.text.ToString();
            yield return(m_info);

            Debug.Log(m_info);

            JsonData jd = JsonMapper.ToObject(m_info);
            if (!jd["msg"].ToString().Equals("识别成功"))
            {
                Debug.Log("密码错误");
                MobileFunction.DebugByAndroid("密码错误");
                errorHandle();
                yield break;
            }

            //Debug.Log (jd.ToString ());
            string s  = jd["data"]["timesImgSrc"].ToString();
            string id = jd["data"]["id"].ToString();
            s = App.MgrDownload.DownloadLocalARImg(s);

            VideoTargetDate _data = new VideoTargetDate(pwd, "", id, s);

            jd = jd["data"]["timeLineVideoList"];
            for (int i = 0; i < jd.Count; i++)
            {
                VideoTargetCell cell = new VideoTargetCell(
                    jd[i]["createDate"].ToString(),
                    jd[i]["user"]["nickName"].ToString(),
                    jd[i]["timeVideoSrc"].ToString(),
                    jd[i]["user"]["userLogo"].ToString(),
                    jd[i]["user"]["id"].ToString(),
                    jd[i]["user"]["isFriend"].ValueAsBoolean(),
                    jd[i]["isVertical"].ToString()
                    );
                _data.videoList.Add(cell);
            }

            Debug.Log(_data.videoList.Count);
            try
            {
                MobileFunction.DebugByAndroid("视频数量: " + _data.videoList.Count);
            }
            catch (Exception ex)
            {
            }

            yield return(new WaitForSeconds(1f));

            if (handle != null)
            {
                handle(_data);
            }
        }
    }
Exemplo n.º 7
0
    //获取该target下的所有用户及视频信息
    //POST /videos/cloud/targetId/{targetId}/memberCode/{memberCode} 2018-01-22-用户查看云识别时光轴
    IEnumerator LoadImageTarget(ImageTarget target, System.Action <ImageTarget, VideoTargetDate> handle)
    {
        /*自动获取手机的信息
         * System.Collections.Generic.Dictionary<string, string> headers = new System.Collections.Generic.Dictionary<string, string>();
         *
         * headers.Add("Content-Type", "application/json");
         *
         *
         * JsonData data = new JsonData();
         * data["phone"] = "13816848999";
         * data["targetId"] = "920df90c-dbb4-41bf-ab70-b2bc14c189c1";
         * data["token"] = "";
         * byte[] bs = System.Text.UTF8Encoding.UTF8.GetBytes(data.ToJson());
         *
         * //WWW www = new WWW("http://106.14.60.213:8080/business/AR/cloud", bs, headers);
         *
         * //headers.Add("token", App.MgrConfig._token);
         */
        WWWForm wwwForm = new WWWForm();

        wwwForm.AddField("phone", App.MgrConfig._phone);
        wwwForm.AddField("targetId", target.Uid);
        wwwForm.AddField("token", "");
        byte[] rawData = wwwForm.data;
        WWW    www     = new WWW(App.MgrConfig._Server + "AR/cloud", wwwForm);

/*
 *      Dictionary<string, string> headers = new Dictionary<string, string>();
 *      headers.Add("Content-Type", "application/json");
 *      JsonData jsonData = new JsonData();
 *      jsonData["phone"] = App.MgrConfig._phone;
 *      jsonData["targetId"] = target.Uid;
 *      Debug.Log(jsonData.ToJson());
 *      //byte[] bs = System.Text.UTF8Encoding.UTF8.GetBytes(data.ToJson());
 *      byte[] bs = System.Text.Encoding.UTF8.GetBytes(jsonData.ToJson());
 *
 *      WWW www = new WWW(App.MgrConfig._Server +"AR/cloud",bs,headers);
 */
        yield return(www);

        string m_info = string.Empty;

        if (www.error != null)
        {
            m_info = www.error;
            yield return(null);
        }
        if (www.isDone && www.error == null)
        {
            m_info = www.text.ToString();
            yield return(m_info);

            Debug.Log(m_info);
            JsonData jd = JsonMapper.ToObject(m_info);
            string   id = jd["data"]["id"].ToString();
            jd = jd["data"]["timeLineVideoList"];
            if (jd == null)
            {
                Destroy(GameObject.Find(target.Uid));
                yield break;
            }
            //Debug.Log (jd.ToString ());
            byte[] bytes = Convert.FromBase64String(target.MetaData);
            string s     = System.Text.Encoding.GetEncoding("utf-8").GetString(bytes);

            VideoTargetDate data = new VideoTargetDate(target.Uid, s, id, "");


            for (int i = 0; i < jd.Count; i++)
            {
                VideoTargetCell cell = new VideoTargetCell(
                    jd [i] ["createDate"].ToString(),
                    jd [i] ["user"]["nickName"].ToString(),
                    jd [i] ["timeVideoSrc"].ToString(),
                    jd [i] ["user"]["userLogo"].ToString(),
                    jd [i] ["user"]["id"].ToString(),
                    jd [i] ["user"]["isFriend"].ValueAsBoolean(),
                    jd[i]["isVertical"].ToString());
                data.videoList.Add(cell);
            }

            handle(target, data);
        }
    }