예전 자유 게시판
안드로이드 프로그래밍 12장 소스 질문
드로이드 2010-06-22 17:06
안드로이드 프로그래밍 12장 Audio.java 소스에서
녹음을 하고 정지 후 재생을 누르면
06-22 17:29:47.443: ERROR/Audio(27338): Playback failed.
06-22 17:29:47.443: ERROR/Audio(27338): java.io.IOException: Prepare failed.: status=0x1
06-22 17:29:47.443: ERROR/Audio(27338): at android.media.MediaPlayer.prepare(Native Method)
06-22 17:29:47.443: ERROR/Audio(27338): at
......
라고 나옵니다.
소스 그대로 임포트했습니다. 왜그런걸까요?.
류광 2010-06-23 22:06
그 위에 Command PLAYER_SET_DATA_SOURCE completed with an error or ... 같은 줄이 나오지요? 예외는 prepare()가 던졌지만, 실제로 문제는 setDataSource()에서 발생한 것 같습니다(아마도 audio.mp4 파일의 접근 권한 때문인 듯).
웹에서 한 가지 해결책을 찾았는데요. setDataSource(String path) 대신 setDataSource(FileDescriptor fd)를 사용하면 재생이 잘 됩니다. 이런 식으로요:
...
FileInputStream istr = new FileInputStream(audioFilePath);
player.setDataSource(istr.getFD());
istr.close();
...
조만간 정오표에 등록하겠습니다~