안녕하세요, 안드로이드 앱 개발중 질문이 있어 글을 올립니다.


지금 동영상을 res/raw 폴더에 넣고 uri를 이용해 재생을 하려 고 하고 있는데,

동영상 재생 전에 에러가 발생하고 있는데 왜 그런지 알 수 없어 조언을 구하고자 합니다.


아래는 동영상 재생 시작까지의 코드 입니다.


	 Uri uri = Uri.parse("android.resource://com.test/"+R.raw.splash);
		Log.i(TAG, ""+uri);
		try {
			mMediaPlayer.reset();
			mMediaPlayer.setDataSource(mContext, uri);
			mMediaPlayer.setOnCompletionListener(this);
			mMediaPlayer.setDisplay(mSurfaceHolder);
			mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
			mMediaPlayer.prepare();
			mMediaPlayer.start();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
			Log.e(TAG, "1) "+e.getMessage());
		} catch (SecurityException e) {
			e.printStackTrace();
			Log.e(TAG, "2) "+e.getMessage());
		} catch (IllegalStateException e) {
			e.printStackTrace();
			Log.e(TAG, "3) "+e.getMessage());
		} catch (IOException e) {
			e.printStackTrace();
			Log.e(TAG, "4) "+e.getMessage());
		}

다음은 Logcat 에러 출력 내용 입니다.


07-08 19:18:53.605: ERROR/MediaPlayer(6452): error (1, -2147483648)

07-08 19:18:53.605: WARN/System.err(6452): java.io.IOException: Prepare failed.: status=0x1

07-08 19:18:53.615: WARN/System.err(6452):     at android.media.MediaPlayer.prepare(Native Method)

07-08 19:18:53.615: WARN/System.err(6452):     at com.ubivelox.uvo.ui.SplashActivity.play(SplashActivity.java:53)

07-08 19:18:53.615: WARN/System.err(6452):     at com.ubivelox.uvo.ui.SplashActivity.surfaceCreated(SplashActivity.java:87)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.SurfaceView.updateWindow(SurfaceView.java:532)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.View.draw(View.java:6743)

07-08 19:18:53.615: WARN/System.err(6452):     at android.widget.FrameLayout.draw(FrameLayout.java:352)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.View.draw(View.java:6743)

07-08 19:18:53.615: WARN/System.err(6452):     at android.widget.FrameLayout.draw(FrameLayout.java:352)

07-08 19:18:53.615: WARN/System.err(6452):     at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1842)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewRoot.draw(ViewRoot.java:1407)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewRoot.performTraversals(ViewRoot.java:1163)

07-08 19:18:53.615: WARN/System.err(6452):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)

07-08 19:18:53.615: WARN/System.err(6452):     at android.os.Handler.dispatchMessage(Handler.java:99)

07-08 19:18:53.615: WARN/System.err(6452):     at android.os.Looper.loop(Looper.java:123)

07-08 19:18:53.615: WARN/System.err(6452):     at android.app.ActivityThread.main(ActivityThread.java:4627)

07-08 19:18:53.615: WARN/System.err(6452):     at java.lang.reflect.Method.invokeNative(Native Method)

07-08 19:18:53.615: WARN/System.err(6452):     at java.lang.reflect.Method.invoke(Method.java:521)

07-08 19:18:53.615: WARN/System.err(6452):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

07-08 19:18:53.615: WARN/System.err(6452):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

07-08 19:18:53.615: WARN/System.err(6452):     at dalvik.system.NativeStart.main(Native Method)

07-08 19:18:53.615: ERROR/SplashActivity(6452): 4) Prepare failed.: status=0x1 


prepare 코드에서 에러가 발생한 것 같은데, 패키지 명이라던지, 동영상 파일 이름 같은것은 이미 맞추어 놓은 상태입니다.

원인을 알 수가 없네요..


원인이라도 알려주시면 감사하겠습니다.


감사합니다.