public void playSpeedAdds()
 {
     AndroidJavaUtils.playDestroy();
     AndroidJavaUtils.initPlay();
     AndroidJavaUtils.openPlay(PlayerUrlAPI.PLAY_AILS);
     type = "HTTP";
 }
 public void playSpeedReduxets()
 {
     AndroidJavaUtils.playDestroy();
     AndroidJavaUtils.initPlay();
     AndroidJavaUtils.openPlay(PlayerUrlAPI.HTTPS_PLAYE);
     type = "HTTPS";
 }
Example #3
0
    void Start()
    {
        mRenderer = GetComponent <Renderer>();

        if (Application.platform == RuntimePlatform.Android)
        {
            try
            {
                //初始化TextureID
                int textureId = AndroidJavaUtils.TextureID();
                //设置TextureID
                videoTexture = Texture2D.CreateExternalTexture(2880, 1600, TextureFormat.RGB24,
                                                               false, false, new IntPtr(textureId));
            }
            catch (Exception e)
            {
                Debug.LogError("LetinCodec.InitSurfaceTexture() failed: " + e.Message);
                return;
            }

            mRenderer.sharedMaterial.mainTexture = videoTexture;

            //注册广播
            AndroidJavaUtils.RegistrationBroadcast();
            //初始化播放器
            AndroidJavaUtils.initPlay();
        }
    }
 public void playAudioReduxes()
 {
     if (AndroidJavaUtils.isPlaying())
     {
         AndroidJavaUtils.playVolumeReduce();
         AndroidJavaUtils.Error("音量----");
     }
 }
 public void playAudioAdds()
 {
     if (AndroidJavaUtils.isPlaying())
     {
         AndroidJavaUtils.playVolumeAdd();
         AndroidJavaUtils.Error("音量+++");
     }
 }
 public void playUnders()
 {
     AndroidJavaUtils.playDestroy();
     AndroidJavaUtils.initPlay();
     AndroidJavaUtils.openPlay(PlayerUrlAPI.RTMP_PLAYE);
     AndroidJavaUtils.Error("RTMP");
     type = "RTMP";
 }
 public void playStops()
 {
     if (AndroidJavaUtils.isPlaying())
     {
         AndroidJavaUtils.playDestroy();
         AndroidJavaUtils.Error("停止");
     }
 }
    public void playStarts()
    {
        if (!AndroidJavaUtils.isPlaying())
        {
            AndroidJavaUtils.openPlay(PlayerUrlAPI.HTTPS_PLAYE);

            AndroidJavaUtils.Error("开始播放");
            type = "HTTPS";
        }
    }
Example #9
0
 // Update is called once per frame
 void Update()
 {
     if (Application.platform == RuntimePlatform.Android)
     {
         if (AndroidJavaUtils.isNewFrameAvailable())
         {
             //更新Texture
             AndroidJavaUtils.UpdateTexture();
         }
     }
 }
Example #10
0
 private void OnApplicationPause(bool pause)
 {
     if (pause && AndroidJavaUtils.isPlaying())
     {
         AndroidJavaUtils.Error("OnApplicationPause  1 : " + pause);
         AndroidJavaUtils.playPause();
     }
     else
     {
         AndroidJavaUtils.Error("OnApplicationPause  2 : " + pause);
         AndroidJavaUtils.playResume();
     }
 }
Example #11
0
    public void palyPauses()
    {
        if (AndroidJavaUtils.isPlaying())
        {   //暂停
            AndroidJavaUtils.playPause();

            AndroidJavaUtils.Error("暂停");
        }
        else
        {  //继续播放
            AndroidJavaUtils.playResume();

            AndroidJavaUtils.Error("继续");
        }
    }
Example #12
0
    public void initButtonClick()
    {
        mText       = GameObject.Find("playMsg").GetComponent <Text>();       //调试使用
        androidMsg  = GameObject.Find("androidMsg").GetComponent <Text>();    //调试使用
        SpeedSlider = GameObject.Find("SpeedSlider").GetComponent <Slider>(); //调试使用

        /////////////////////初始化按钮////////////////////////////////
        playStart        = GameObject.Find("playStart").GetComponent <Button>();
        playPause        = GameObject.Find("playPause").GetComponent <Button>();
        playStop         = GameObject.Find("playStop").GetComponent <Button>();
        playSpeedAdd     = GameObject.Find("speedAdd").GetComponent <Button>();
        playSpeedReduxet = GameObject.Find("speedReduxe").GetComponent <Button>();
        playAudioAdd     = GameObject.Find("audioAdd").GetComponent <Button>();
        playAudioReduxe  = GameObject.Find("audioReduxe").GetComponent <Button>();
        playTop          = GameObject.Find("playTop").GetComponent <Button>();
        playUnder        = GameObject.Find("playUnder").GetComponent <Button>();
        ////////////////////////////设置按钮点击事件/////////////////////////////////////
        playStart.onClick.AddListener(playStarts);               //开始播放
        playPause.onClick.AddListener(palyPauses);               //暂停
        playStop.onClick.AddListener(playStops);                 //停止
        playSpeedAdd.onClick.AddListener(playSpeedAdds);         //倍速+
        playSpeedReduxet.onClick.AddListener(playSpeedReduxets); //倍速-
        playAudioAdd.onClick.AddListener(playAudioAdds);         //音量+
        playAudioReduxe.onClick.AddListener(playAudioReduxes);   //音量-
        playTop.onClick.AddListener(playTops);                   //上一集+
        playUnder.onClick.AddListener(playUnders);               //下一集-
        AndroidJavaUtils.Error("初始化完成");

        mSlider.onValueChanged.AddListener(delegate(float m)
        {
            float value = mSlider.value;


            if (mMax == 0 || type.Equals("RTSP") || type.Equals("RTMP"))
            {
                return;
            }

            if (value > mMax)
            {
                /**
                 *
                 *
                 * */
                isInfoBuffer = true;
                int seek     = (int)value * 10;
                AndroidJavaUtils.Error("前进");
                AndroidJavaUtils.playSeeto(seek);
            }
            else if (value < mMax)
            {
                isInfoBuffer = true;
                int seek     = (int)value * 10;
                AndroidJavaUtils.Error("后腿");
                AndroidJavaUtils.playSeeto(seek);
            }
        });


        SpeedSlider.onValueChanged.AddListener(delegate(float m)
        {
            float value = SpeedSlider.value;


            if (AndroidJavaUtils.isPlaying())
            {
                AndroidJavaUtils.playSpeed(value);
            }
        });
    }
Example #13
0
    public void PlayeMessageCallback(string msg)
    {
        //"00:41|06:01|1.0|15|3"



        if (msg.Contains("Play"))
        {
            mText.text = "播放完成";
        }
        else if (msg.Contains("videoMessage"))
        {
            if (AndroidJavaUtils.isPlaying())
            {
                videoMsg = msg.Replace("videoMessage|", "");
            }
            androidMsg.text = videoMsg;
            //AndroidJavaUtils.Debug(videoMsg);
        }
        else if (msg.Contains("CurrentBufferPercentage|"))
        {
            //设置进度条

            mMax = int.Parse(msg.Replace("CurrentBufferPercentage|", ""));
            if (!isInfoBuffer)
            {
                mSlider.value = mMax;
            }
        }
        else if (msg.Contains("invalid progressive playback") || msg.Contains("unknown"))
        {
            mText.text = msg;
        }
        else if (msg.Contains("MEDIA_INFO_VIDEO_RENDERING_START"))
        {
            mText.text   = "开始播放";
            isInfoBuffer = false;
        }
        else if (msg.Contains("MEDIA_INFO_BUFFERING_START"))
        {
            mText.text = "媒体缓冲中";
            AndroidJavaUtils.Error("播放状态---" + AndroidJavaUtils.isPlaying());
        }
        else if (msg.Contains("MEDIA_INFO_BUFFERING_END"))
        {
            mText.text = "媒体缓冲结束";
            AndroidJavaUtils.Error("播放状态---" + AndroidJavaUtils.isPlaying());
            isInfoBuffer = false;
        }
        else if (msg.Contains("MEDIA_INFO_BAD_INTERLEAVING"))
        {
            mText.text = "媒体文件损坏";
        }
        else if (msg.Contains("READY_TO_PLAY"))
        {
            mText.text = "准备播放";
        }
        else if (msg.Contains("NetworkIsConnected-2G"))
        {
            mText.text = "当前为2G网络,请切换WIFI环境";
            AndroidJavaUtils.playPause();
        }
        else if (msg.Contains("NetworkIsConnected-4G") || msg.Contains("NetworkIsConnected-WIFI"))
        {
            if (!AndroidJavaUtils.isPlaying())
            {
                AndroidJavaUtils.playResume();
            }
        }
        else if (msg.Contains("NetworkIsDisconnected"))
        {
            if (AndroidJavaUtils.isPlaying())
            {
                AndroidJavaUtils.playPause();
            }
        }

        else
        {
            string[] ms = msg.Split('|');


            CurrentProgress = AndroidJavaUtils.GenerateTime(long.Parse(ms[0]));
            TotalProgress   = AndroidJavaUtils.GenerateTime(long.Parse(ms[1]));
            DoubleSpeed     = ms[2];
            MaximumVolume   = ms[3];
            CurrentVolume   = ms[4];



            if (AndroidJavaUtils.isPlaying())
            {
                SpeedSlider.value = float.Parse(DoubleSpeed);
                mText.text        = "进度:" + CurrentProgress + "/" + TotalProgress + " 倍速:" + DoubleSpeed + " 最大音量:" + MaximumVolume + " 当前音量:" + CurrentVolume;
            }
        }
    }