안드로이드 스튜디오

3.9 안드로이드 스튜디오 Sound Recording Stop Play 예제

coding art 2020. 4. 15. 18:53
728x90

 

사운드 녹음은 안드로이드 스튜디오 코딩에서 단순한 재생이라든지 또는 TextToSpeech 와는 다른 점이 녹음 과정에서 얼마나 많은 메모리 용량이 필요할지 모른다는 점이다. 안드로이드 코딩 과정에서 보면 저장해야 할 문자열 정보가 있다면 ArrayList를 성정해서 adapter를 사용하여 가져다 쓰는 기법이 사용되고 있지만 이때에 사용하는 메모리 용량은 안드로이드 앱 자체로서 할당이 된다. 하지만 녹음 과정은 그 길이가 상당히 길어져 과연 얼마만큼의 용량이 필요할지 앱 코드를 작성하는 시점에서 알 수 가 없는 것이다. 따라서 스마트폰 내에서 어느 정도의 메모리 용량이 사용 가능한지는 안드로이드 OS 시스템만이 전체 시스템의 메모리를 관리하므로 알 수 있는 것이다. 따라서 AndroidManefiest.xml에서 uses-permission 용법이 사용되며 에뮬레이터에서 시뮬레이션이 안 된다는 점에 유의하자.

 

 

 

사운드 녹음과정은 녹음(Record) 중지9Stop) 재생(Play)으로 요약할 수 있다. 따라서 3개의 버튼이 필요하다. 아울러 오디오 앱이라는 점을 보여주기 위해 적절한 로고 그림도 필요할 것이다. 로고는 그림판에서 홪장자 png 파일로 처리하여 소문자 파일 명으로 저장해 두었다가 복사하여 res drawable 폴더에 붙여넣기 한다.

 

하나의 ImageView 3개의 Button을 갖는 레이아욱을 다음과 같이 디자인 하자.

 

스마트폰 안드로이드 시스템으로부터 지원받는 MediaRecorder MediaPlayer 가 있음에 주목하자. 아울러 android.os.Environment 라이브러리에 의해 에뮬레이터가 아닌 스마트폰에서 Output 파일 출력이 이루어진다.


MainActivity에서 녹음을 실행하기 위해서 다음과 같은 준비가 필요하다. 중지와 재생은 거짓으로 선언해 두자. MeadiaRecorder() method 로 인스턴스를 생성한다. 오디오 소스 MIC, 출력 및 엔코딩 포맷을 설정한다.

 

녹음 준비 후 시작이 되면 어느 시점에 record false 처리하고 stop true 처리하자.

 

 

녹음 후 중지가 되었으면 2가지 경우가 있을 수 있다. 하나는 녹음이고 다른 하나는 제생이다. 하지만 MyAudio는 여기서 한번만 재생이 가능하다. 제대로 된 녹음기를 구성하려면 경우의 수를 잘 따져서 코드를 완벽하게 작성해야 할 것이다.

 

마지막으로 녹음된 내용을 재생해보자.

 

첨부된 코드를 다운하여 실행해 보자.

MyAudio.zip

 

Blog Reference

Create an Audio Recorder for Android

https://medium.com/@ssaurel/create-an-audio-recorder-for-android-94dc7874f3d

 

 

 

MyAudio.zip
0.23MB