저는 VideoView에서 스트리밍 비디오를 재생하는 Android 앱을 개발 중입니다. 동영상을 재생하고 문제없이 멈출 수는 있지만 실제로 동영상을 스트리밍하는 사람이 동영상 스트리밍을 중단했는지 여부를 감지하는 방법이 있는지 궁금합니다. 스트림을 제어하는 사람이 자신의 비디오를 중지하거나 실행중인 서버를 변경하는지 여부를 알 수있는 한 VideoView가 중지 된 것처럼 보이지만 사실 아무 것도 재생하지 않습니다. 그 가정에서 나는 맞습니까?스트리밍 비디오가 Android에서 VideoView로 재생되는 것을 감지하는 방법이 있습니까?
1
A
답변
1
수신 측 클라이언트가 스트림이 서버 측에서 수동으로 중지되었다는 것을 알 수있는 프로토콜이 있는지 의심 스럽습니다. 아마도 네트워크 문제처럼 보일 것입니다. 스트림이 실패했다는 것을 알고 싶다면 onError 리스너를 추가하면 스트림이 실패했다는 것을 알 수 있습니다 (버퍼가 고갈 된 후). 어떤 유형의 오류가 발생했는지 판별하려면 what 및 extra 매개 변수를 분석해야합니다. onError 리스너가 없으면 onCompletion 리스너가 호출됩니다.
videoView.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.w(TAG, "Video playback has errored");
return false;
}
});
+0
이 질문에 대한 답변이 도움이 되었습니까? – scottt
코드를 게시하십시오. – user3355820