안녕하세요, 안드로이드 앱 개발중 질문이 있어 글을 올립니다.
지금 동영상을 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 코드에서 에러가 발생한 것 같은데, 패키지 명이라던지, 동영상 파일 이름 같은것은 이미 맞추어 놓은 상태입니다.
원인을 알 수가 없네요..
원인이라도 알려주시면 감사하겠습니다.
감사합니다.




으으.. 소스 코드 올리는것 사용을 어떻게 하는지 모르겠네요..;;