마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 음성녹음 구현시 인코딩 질문드립니다.

0 추천
제가 지금 안드로이드 무전기 기능을 구현 하려고 합니다.

그래서 일단 음성녹음을 시킨뒤 상대방안드로이드폰에 파일을 보내고 받는 쪽에서 재생시키려고 합니다.

일단 음성녹음을 하고 제가 보는 책에서도 나온 3gp파일로 저장을 시켰는 데 이놈은 제대로 재생이 안되네요

그리고 왜 그런지는 모르겠지만 녹음 하자마자 파일이 잘 생겼나 확인을 위해

안드로이드 ES탐색기 어플같은걸로 확인해보면

파일이 안보이지만 시간이 좀 지나거나 휴대폰을 껏다 키면? 보이는 것 같습니다.

재생도 잘 안되는 것 같구요

그래서 MP4파일로 녹음파일을 만들어서 재생시켜봤는 데 이놈은 재생이 잘되네요.

그런데 무선기어플구현시 MP4로 음성파일을 만들어 보내도 상관없을 까요?

MP4는 원래 동영상 관련 인코딩이라...좀 걸리는 데 말이죠.
와인한잔 (400 포인트) 님이 2013년 11월 26일 질문

2개의 답변

+1 추천
 
채택된 답변
일단 아래는 말씀하신 부분중 일부입니다.

일단 음성녹음을 하고 제가 보는 책에서도 나온 3gp파일로 저장을 시켰는 데 이놈은 제대로 재생이 안되네요

그리고 왜 그런지는 모르겠지만 녹음 하자마자 파일이 잘 생겼나 확인을 위해

안드로이드 ES탐색기 어플같은걸로 확인해보면

파일이 안보이지만 시간이 좀 지나거나 휴대폰을 껏다 키면? 보이는 것 같습니다.

재생도 잘 안되는 것 같구요

 

파일이 안생기고 시간이 좀 지나거나 휴대폰을 껏다 키면 보이는 문제는

미디어스캐닝을 하시지 않으셔서 그렇습니다.

안드로이드에서 제공하는 API를 참조하시거나 구글링하셔서 미디어스캐닝을 구현하여 적용하세요.

즉, 녹음이 끝나고 나서 미디어스캐닝을 한번 해주셔야지 정상적으로 보입니다.

미디어스캐닝이 되기 전까지는 안드로이드 시스템에서 파일이 생겼는지 안생겼는지 몰라요.

저는 전에 녹음된걸 FTP로 쏴서 웹서버에 저장하는 기능을 구현했었는데 질문자님의 상황에서 많이 헤멧습니다.

일단 위의 증상을 총체적으로 볼때 두가지를 체크 하셔야 합니다.

첫번째는 미디어스캐닝처리의 유무입니다.

이부분은 위에 언급드렸듯이 파일이 안보이는 현상은 백프로 이 문제이므로 미디어스캐닝 처리만 해주시면 해결되는 문제입니다.

3gp 파일이 정상 재생되지 않는 문제점은 입출력 스트림이 제대로 닫아지지 않았을 경우에 이런 현상이 생깁니다.

파일 입출력 관련해서 한번 로직이 제대로 구현되었는지 다시 체크를 해보심이 좋을듯 싶습니다.

이 두가지만 체크하시면 해결되지 않을까 생각합니다.
갸아악 (21,260 포인트) 님이 2013년 11월 27일 답변
와인한잔님이 2013년 11월 27일 채택됨
0 추천
mp4 파일도 오디오용, 동영상용이 있어요.

.m4a로 하면 오디오용입니다.
쎄미 (162,410 포인트) 님이 2013년 11월 27일 답변
3gp 도 동영상 컨테이너입니다. mp4와 다를게 없습니다. 호환성은 mp4를 많이 쓰니 더  나을 수도 있죠.
단지 mp4, 3gp 컨테이너의 경우 동영상을 지원하기 위해 여러 불필요한 box가 존재하니 음성만이면 AAC_ADTS 포멧을 사용하시는게 좋을 듯 합니다.(AMR_NB, AMR_WB 도 음성 전용 포멧이나. aac를 더 많이 쓰니요..)
...