스트리밍 또는 프로그레시브 다운로드 비디오를위한 videoview 사용
-
20-09-2019 - |
문제
VideoView가 비디오를 재생하는 데 사용되는 방법에 대해 혼란스러워합니다 : 로컬 파일에서 점진적 다운로드 및 스트리밍으로.
이 예 파일을 다운로드하고 로컬로 재생하여 (최소한 1.5 및 2.0 이상) 작업하십시오.
그러나 재생하기 전에 비디오를 다운로드 할 필요가 있습니까?
videoviewdemo 코드는 스트리밍에 setvideouri를 사용하는 것이 제안하지만 어떤 종류의 URL을 사용해야하는지 명확하지 않습니다. 누군가 videoviewdemo 코드를 사용하여 Android 에뮬레이터로 스트리밍 할 수있는 비디오의 예제 URL이 있습니까?
videoviewdemo와 함께 프로그레시브 다운로드를 사용할 수 있습니까? '죄송합니다.이 비디오는 위에 연결된 블로그 예제와 함께 잘 작동하는 URL과 함께 SetVideoPath를 사용하여 메시지를 재생할 수 없습니다.
온라인으로 많은 예와 문서를 찾았지만 지금 까지이 질문에 대한 답변은 없습니다.
해결책
API 샘플의 videoviewdemo에서와 같이 SetVideoPath 또는 SetVideouri를 사용하여 비디오를 진행하거나 스트리밍하여 비디오를 재생할 수 있습니까?
해야합니다. 확실히 함께 작동합니다 MediaPlayer
, 그리고 VideoView
주변의 ~ 200 라인 래퍼입니다 MediaPlayer
그리고 a SurfaceView
.
videoviewdemo 코드는 스트리밍에 setvideouri를 사용하는 것이 제안하지만 어떤 종류의 URL을 사용해야하는지 명확하지 않습니다.
http://
그리고 rtsp://
비디오가 제대로 인코딩 된 경우 작동 할 수 있습니다.
누군가 videoviewdemo 코드를 사용하여 Android 에뮬레이터로 스트리밍 할 수있는 비디오의 예제 URL이 있습니까?
이 비디오 와 일하다 MediaPlayer
, Nexus One을 제외하고.
편집하다: 실제로 그 링크는 Nexus One과도 작동합니다.
다른 팁
간단한 경우에는 효과가 있지만 스트림을 받기위한 요청을 위해 몇 가지 사용자 정의 준비를 할 필요가없는 경우에만 가능합니다.
이 튜토리얼은 오디오를위한 수동 스트리밍 에뮬레이션의 예를 보여 주지만 비디오를 재생하는 데 약간의 리팩토링이 가능합니다.
http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-denroids-mediaplayer/
(사용하십시오 FileDescriptor
설정할 때 dataSource
, API는 그 시간과 약간 변경되었습니다).
videoview는 3GP 비디오 만 스트리밍 할 수 있지만이 코드는 비디오를 스트리밍하는 것이 좋습니다.
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.main);
String videourl = "http://something.com/blah.mp4";
Uri uri = Uri.parse(videourl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}