안드로이드 스튜디오

3.2 안드로이드 스튜디오 MP3 사운드 재생

coding art 2020. 2. 25. 13:17
728x90


Hello Codi!는 앱인벤터 예제 중에서는 가장 쉬운 튜토리얼 예제이긴 하지만 안드로이드 스튜디오에서 재현해 본 결과로는 다른 예제와 비해서 그 난이도가 높지는 않지만 그다지 쉽다고만 볼 수도 없다. 아래의 app inventor 튜토리얼 주소에서 벌 로고 이미지와 벌의 MP3 사운드를 다운 받도록 하자. 주의할 점은 다운 받을 파일의 영문 이름을 안드로이드 스튜디오 문법 상 반드시 소문자 처리해야 한다는 점이다.

http://appinventor.mit.edu/explore/ai2/hello-codi.html


여기서는 그 이름을 각각 bee.png beesound.mp3 로 처리하였다. codi.jp jpeg 확장자이므로 그림판에서 다시 png 확장자로 저장해야 할 필요성이 있다

안드로이드 스튜디오에서 BeeSound로 프로젝트 파일을 새로이 열자. 프로젝트 생성과 함께 빌드 작업이 이루어지면 우선 앞서 준비한 파일을 오리도록 한다. 그림 파일인 bee.png resdrawable에 붙여넣기 하자. 아울러 res 폴더 밑에

MP3 음성 파일을 가져다 저장할 raw 란 명칭의 폴더를 준비하자. 다음의 절차를 참조하여 작업 후 실제로 raw 폴더가 생성되었는지 확인하자. 이 폴더에 beesound.mp3 파일을 복사하여 붙여넣기 한다.

 

벌 로고 이미지 파일과 mp3 파일이 준비되었으면 activity_main에서 RelativeLayout을 사용하여 layout을 디자인 하도록 하자. ImageView에서 사용하는 벌 로고 이미지가 스마트폰 폭에 맞을 정도로 충분히 크므로 wrap_content 로 폭과 높이를 정의하고 아울러 layout_centerHorizontal=“true”를 정의 한다. 그림 양쪽의 약간의 마진을 남기면서 상단 중앙에 그림이 위치하게 된다.


ImageView 바로 밑에 mp3 파일 Start 버튼과 Stop 버튼을 1:1로 배치하자. Start에 해당하는 button1 layout_below를 사용하여 ImageView 의 아래쪽에 위치시키고 Sop에 해당하는 button2 layout_ToRightOf를 사용하여 Start 버튼의 오른쪽에 붙여 위치시키다. 각 버튼의 폭을 210dp 로 정의 하면 1:1 로 배치가 된다.

 MainActivity에서 MediaPlayer.create() 명령을 코딩하자.

벌 소리 사운드는 충분히 짧으므로 pause() 명령 보다는 stop()reset() 명령을 사용하는 것이 좋다. 만약 mp3 사운드 길이가 길다면 pause() restart()를 사용해야 할 것이다.


isPlaying 명령은 실수로 Stop부터 누르더라도 그림과 같이 에러 메시지를 주고 다시 app 으로 돌아 갈 수 있도록 해 준다.


한편 start() stop() 외에도 Activity를 종료하기 위해서는 onDestroy() 명령을 추가해야 할 필요가 있다.


첨부된 코드를 다운하여 살펴보자.


BeeSound.zip




BeeSound.zip
0.22MB