08-11 19:23:48.123 27705-27705/? V/MediaPlayer-JNI﹕ native_setup
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ constructor
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ setListener
08-11 19:23:48.123 27705-27705/? V/MediaPlayer-JNI﹕ setAudioStreamType: 3
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ MediaPlayer::setAudioStreamType
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ setVideoSurfaceTexture
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ prepare
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ message received msg=300, ext1=0, ext2=0
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ Received SEC_MM_PLAYER_CONTEXT_AWARE
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ callback application
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ back from callback
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ message received msg=100, ext1=1, ext2=-2147483648
08-11 19:23:48.123 27705-27720/? E/MediaPlayer﹕ error (1, -2147483648)
08-11 19:23:48.123 27705-27720/? V/MediaPlayer﹕ signal application thread
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ prepare complete - status=1
08-11 19:23:48.123 27705-27705/? W/System.err﹕ java.io.IOException: Prepare failed.: status=0x1
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.media.MediaPlayer._prepare(Native Method)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.media.MediaPlayer.prepare(MediaPlayer.java:1351)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at kr.co.composer.callrecord.media.AudioPlayer.initializeViews(AudioPlayer.java:57)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at kr.co.composer.callrecord.media.AudioPlayer.onCreate(AudioPlayer.java:41)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.Activity.performCreate(Activity.java:6500)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.ActivityThread.access$1000(ActivityThread.java:198)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1676)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.os.Looper.loop(Looper.java:145)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:6837)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
08-11 19:23:48.123 27705-27705/? W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ getDuration_l
08-11 19:23:48.123 27705-27705/? E/MediaPlayer﹕ Attempt to call getDuration without a valid mediaplayer
08-11 19:23:48.123 27705-27705/? V/MediaPlayer﹕ message received msg=100, ext1=-38, ext2=0
08-11 19:23:48.133 27705-27705/? E/MediaPlayer﹕ error (-38, 0)
08-11 19:23:48.133 27705-27705/? V/MediaPlayer﹕ callback application
08-11 19:23:48.133 27705-27705/? V/MediaPlayer﹕ back from callback
08-11 19:23:48.133 27705-27705/? V/MediaPlayer-JNI﹕ getDuration: 0 (msec)
08-11 19:23:48.133 27705-27705/? V/MediaPlayer-JNI﹕ start
08-11 19:23:48.133 27705-27705/? V/MediaPlayer﹕ start
08-11 19:23:48.133 27705-27705/? E/MediaPlayer﹕ start called in state 0
08-11 19:23:48.133 27705-27705/? V/MediaPlayer﹕ message received msg=100, ext1=-38, ext2=0
08-11 19:23:48.133 27705-27705/? E/MediaPlayer﹕ error (-38, 0)
try {
mediaPlayer = new android.media.MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(fName);
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
finalTime = mediaPlayer.getDuration();
seekbar.setOnSeekBarChangeListener(mOnSeek);
seekbar.setMax((int) finalTime);
seekbar.setClickable(true);
mediaPlayer.start();
timeElapsed = mediaPlayer.getCurrentPosition();
seekbar.setProgress((int) timeElapsed);
durationHandler.postDelayed(updateSeekBarTime, 200);
}
킷캣에서는 잘되는데 롤리팝에서 안됩니다. mp4나 3gp로 녹음된 오디오파일을 MediaPlayer로 실행하려 합니다.
디버깅해보니 위의 코드에서 getDuration에서 녹음된 파일의 시간을 구해오지 못합니다.
로그를 보니 파일 자체를 읽어오지 못하는듯해서 삼성폰의 내장된 뮤직플레이어로 직접 실행해 봐도 '사용할 수 없는 파일 형식입니다.'
토스트가 나옵니다. mp4, 3gp파일 실행을 롤리팝에서는 못하는건가 싶기도하고...;;
테스트폰은 갤럭시S4 갤럭시S6입니다. 조언 부탁드리겠습니다.