728x90

   val uri = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"
   fragCameraVideiView?.setVideoURI(Uri.parse(uri))
   fragCameraVideiView?.requestFocus()
   fragCameraVideiView?.start()
   
   //VideiView 로딩 완료 처리
   fragCameraVideiView.setOnPreparedListener {
   
   }
   //VideiView 로딩 완료 처리 END
   
   //VideiView 에러 처리
   fragCameraVideiView.setOnErrorListener(MediaPlayer.OnErrorListener { mp, what, extra ->
   	when (what) {
   		MediaPlayer.MEDIA_ERROR_UNKNOWN -> {
  		this.handleExtras(extra)
  	 }
   MediaPlayer.MEDIA_ERROR_SERVER_DIED -> {
   		this.handleExtras(extra)
   	}
  	 }
   	true
   })
   //VideiView 에러 처리 END
   
   
   //VideiView 에러 처리 출력 부분
    fun handleExtras(extra : Int){
        when(extra) {
            MediaPlayer.MEDIA_ERROR_IO -> {
                toast.cancel()
                toast = Toast.makeText(this, "파일 또는 네트워크를 확인하세요.", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.CENTER, 0, 0)
                toast.show()
            }
            MediaPlayer.MEDIA_ERROR_MALFORMED -> {
                toast.cancel()
                toast = Toast.makeText(this, "파일 사양을 확인하세요.", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.CENTER, 0, 0)
                toast.show()
            }
            MediaPlayer.MEDIA_ERROR_UNSUPPORTED -> {
                toast.cancel()
                toast = Toast.makeText(this, "비디오파일 색인을 확인하세요.", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.CENTER, 0, 0)
                toast.show()
            }
            MediaPlayer.MEDIA_ERROR_TIMED_OUT -> {
                toast.cancel()
                toast = Toast.makeText(this, "네트워크 연결시간이 초과 되었습니다.", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.CENTER, 0, 0)
                toast.show()
            }
            -2147483648 -> { //MEDIA_ERROR_SYSTEM (-2147483648) - low-level system error.
                toast.cancel()
                toast = Toast.makeText(this, "네트워크 연결시간이 초과 되었습니다.", Toast.LENGTH_SHORT)
                toast.setGravity(Gravity.CENTER, 0, 0)
                toast.show()
            }
        }
    }
    //VideiView 에러 처리 출력 부분 END

어플에 IP카메라, CCTV 영상을 스트리밍 할 방법을 찾다가 RTSP 를 이용해서 재생 하는 방법을 찾을 수 있었다

 

위에 코드는 실제 구동 테스트한 코드이다.

728x90

+ Recent posts