2012-08-03 3 views
1

저는 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) ...와 함께 놀았고 나를 미치게했다.

의견이 있으십니까? 내 미래의 애플 리케이션은 모든 장치에서이 기능 (비디오를 재생할 수있게 됨)에 달려 있으므로 필자는이 점에 대해 필사적이다.

+0

기기가 두 번째 동영상을 지원하지 않는 것으로 보입니다. 다른 앱에서 두 번째 동영상을 재생하려고 했습니까? – busylee

답변

0

Video1의 onCompleteListener에서 처리기를 만들고 비디오가 재생되는지 여부를 확인하십시오. Video2를 멈추고 runnable에서 다시 재생 해보고 다른 장치가 논리를 지원하는 것이 절대적으로 불가능한지를 알기 위해 다른 것을 시도 할 수 있습니다. LogCat에서 발생하는 이벤트를 추적하십시오. 행운을 빌어 요

관련 문제