안드로이드 개발 질문/답변
(글 수 45,052)
페이지가 열리면 소리가 재생되도록 하고 싶은데요
02-14 09:46:31.502: ERROR/MediaPlayer(14115): start called in state 4
02-14 09:46:31.502: VERBOSE/MediaPlayer(14115): message received msg=100, ext1=-38, ext2=0
02-14 09:46:31.502: ERROR/MediaPlayer(14115): error (-38, 0)
02-14 09:46:31.502: VERBOSE/MediaPlayer(14115): callback application
02-14 09:46:31.502: VERBOSE/MediaPlayer(14115): back from callback
02-14 09:46:31.502: ERROR/MediaPlayer(14115): Error (-38,0)
02-14 09:46:31.556: ERROR/AudioTrack(2331): AudioTrack::set channels[12] format[1] sampleRate[44100], framecount[8192]
02-14 09:46:31.556: VERBOSE/AudioTrack(2331): AudioTrack::set ------> streamType [3]
02-14 09:46:31.556: ERROR/AudioTrack(2331): getAudioMode[0]
02-14 09:46:31.556: ERROR/AudioTrack(2331): AudioTrack::set afSampleRate[44100] afFrameCount[2048] afLatency[47]
02-14 09:46:31.556: ERROR/AudioTrack(2331): AudioTrack::set minBufCount[2] minFrameCount[4096]
02-14 09:46:31.560: VERBOSE/AudioFlinger(2331): Track constructor name 4102, calling thread 2331
02-14 09:46:31.560: INFO/AudioR2VS(2331): [R2VS] InitR2VS initBit[0x1f]
File file = new File(filepath);
boolean isExist = file.isFile();
Log.i(TAG, isExist+"");
FileInputStream fis = null;
fis = new FileInputStream(file);
mp.setDataSource(fis.getFD());
//mp.setDataSource(filepath); //참고* InputStream으로 읽어야 내부메모리에서도 읽힌다.
mp.prepare();
//mMp.prepareAsync();
옵티머스원, 에뮬레이터 에서 테스트 했을땐 소리가 잘 났는데
갤S에서는 안되네요..
에러는 위처럼 나구요
파일은 분명히 제대로 읽었습니다.
읽는 소스는 다음과 같구요
MediaPlayer mp = new MediaPlayer();
mp = new MediaPlayer();
mp = new MediaPlayer();
File file = new File(filepath);
boolean isExist = file.isFile();
Log.i(TAG, isExist+"");
FileInputStream fis = null;
fis = new FileInputStream(file);
mp.setDataSource(fis.getFD());
//mp.setDataSource(filepath); //참고* InputStream으로 읽어야 내부메모리에서도 읽힌다.
mp.prepare();
//mMp.prepareAsync();
mp.start();
인데요.. 맨처음에 setDataSource에 걍 String filepath를 넣었더니 sd카드에 넣은 데이터는 소리가 나는데 내부메모리에 넣은 데이터는 소리가 안나더라구요. 그래서 FD로 바꿨더니 잘 나더군요.
그래서 이야 잘된다, 라고 생각하고 갤럭시S에서 테스트 했더니... 안됩니다...위에 올려놓은 로그가 뜨면서 소리가 안나요..
mediaplayer가 까다로운건 알고있지만.. 저게 잘 안동작할 소스는 아닌거같은데.. 왜 안되는걸까요 ㅠ?