저는 Android 개발에 새로운 경험이 있으며 현재 일부 동영상이 포함 된 매우 간단한 응용 프로그램을 개발 중입니다. 내 문제를 설명하기 위해 내 res/raw/디렉토리에 2 개의 비디오 (예 : video1.mp4 및 video2.mp4)가 있습니다. 첫 번째 비디오가 끝나 자마자 두 번째 비디오를 재생하고 싶습니다. 내가 showVideo1을 (전화) showVideo2를 호출하는 두 동영상이 재생 및 그것 뿐이다있다 -Android VideoView - 일부 기기에서 경로가 변경된 후 빈 화면이 표시됨
public void showVideo1() {
VideoView vd = (VideoView)findViewById(R.id.videoview);
vd.setVideoPath("android.resource://com.myapp.hello/" + R.raw.video1);
vd.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
{
public void onCompletion(MediaPlayer mp)
{
Log.d("VideoComplete", "Video 1 is complete");
showVideo2(); // start playing the second video...
}
});
vd.start();
}
public void showVideo2() {
VideoView vd = (VideoView)findViewById(R.id.videoview);
vd.setVideoPath("android.resource://com.myapp.hello/" + R.raw.video2);
vd.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
{
public void onCompletion(MediaPlayer mp)
{
Log.d("VideoComplete", "Video 2 is complete");
}
});
vd.start();
}
이 예는 대부분의 장치에서 작동 : 나는 비디오를 호출하는 방법입니다. 하지만 일부 장치는 두 번째 비디오 (???)를 재생하지 못한다는 것을 알았습니다. 예를 들어 나의 오래된 Samsung Galaxy 5 i5500은 첫 번째 비디오가 끝난 후 빈 화면을 표시합니다. 두 번째 비디오가로드되어 시작되었지만 표시되지는 않지만 디버그에서 첫 번째 비디오가 문제없이 재생됩니다. 이 휴대 전화는 Android v2.2를 사용하며 동일한 OS 버전 (Galaxy Tab GT-P1000)을 사용하는 다른 기기에서 시도했지만 두 동영상이 모두 재생됩니다.
동영상을 녹화하려고했으나 (코덱 오류라고 생각) 운이 없었습니다. 나는 또한 setZOrderOnTop (true), seekTo (0) ...와 함께 놀았고 나를 미치게했다.
의견이 있으십니까? 내 미래의 애플 리케이션은 모든 장치에서이 기능 (비디오를 재생할 수있게 됨)에 달려 있으므로 필자는이 점에 대해 필사적이다.
기기가 두 번째 동영상을 지원하지 않는 것으로 보입니다. 다른 앱에서 두 번째 동영상을 재생하려고 했습니까? – busylee