2014-02-21 3 views
3

자산 폴더 및 원시 폴더에서 비디오를 재생하는 중에 오류가 발생했습니다.
MediaPlayer 오류 (1, -2147483648) VideoView 오류 1, -2147483648.android videoview error 1, -2147483648

애셋 폴더에서 시도했습니다. 나는 두 경우 모두 동일한 오류 메시지를 받았습니다

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4"); 
vv.setVideoURI(video); 

:

private String SrcPath = "file:///android_asset/aaa.mp4"; //also tried aaaa.mp3 
VideoView vv = (VideoView)findViewById(R.id.videoView1); 
vv.setVideoPath(SrcPath); 
MediaController controller = new MediaController(this); 
controller.setAnchorView(vv); 
vv.setMediaController(controller); 
vv.requestFocus(); 
vv.start(); 

는 원시 폴더 나뿐만 URI를 사용했다.

+0

는 일반적으로이 오류는 장치가 재생중인 비디오 포맷을 지원하지 않는 것을 의미한다. – Kedarnath

+0

AVD에서 내 앱을 실행하고 5-6 개의 AVD로 다양한 구성을 시도했지만 오류는 동일했습니다. 가상 장치에서 비디오를 재생할 수 있습니까? –

+0

아 ...... 이제 실제 장치에서 사용해보십시오. 알 수없는 형식을 사용하지 않는 한 일반적으로 실제 장치에서 오류가 발생하지 않습니다. – Kedarnath

답변

1

가상 장치에서 비디오를 재생할 수있는 솔루션을 찾았습니다.

나는

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/"+R.raw.aaa); 

그리고 그것의 R.raw 잘 작동하지만 어떤 경우에는 내가 여전히 같은 오류가 사용

+1

어떻게 URL에서 재생할 수 있습니다 – Prasad

+1

그래서 R.raw.aaa는 aaa.mp4와 다른가요? – hariszaman

+0

@hariszaman'R.raw.aaa'는 리소스 ID (int)이며, 'aaa.mp4'가있는 문자열은 문자열입니다. – zundi

1

avinaptic2과 같은 소프트웨어를 사용하여 비디오 인코딩 정보를 얻고 supported media formats in android과 일치하는지 확인할 수 있습니다.

일반적인 문제는 비디오가 잘못된 프로파일 링으로 인코딩된다는 것입니다. H.264 비디오는 기준 레벨 3 이하로 인코딩되어야 Android에서 오류 또는 아티팩트없이 재생할 수 있습니다.

0

작업과 라인

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4"); 

를 교체했다. 다행히도 내 문제에 대한 해결책을 찾았습니다. onPrepare() 안에 videoView.start()으로 전화해야했습니다.

당신은 여기에 정답을 확인할 수 있습니다 Android: 'Can't play this video'; MediaPlayer & VideoView Error 1 -38