본문 바로가기

Android/Open Source11

[Open Source] AudioTrack 소개 및 PCM 파일 재생 시작 AudioTrack은 PCM 데이터를 이용해 실시간 오디오 재생이 가능하도록 하는 Android API입니다. 앱의 메모리에서 직접 오디오를 재생할 수 있는 방법 중 하나이기에 실시간 오디오 처리가 필요한 앱에 적합한 API라고 할 수 있습니다. PCM 파일 재생을 위해선 녹음 기능이 필요하기 때문에 이전 PCM 파일로 녹음하기 게시물을 진행하시고 오셔야 이해가 편합니다. AudioTrack이란? AudioTrack은 Object 클래스를 상속 받고 있으며 AudioRouting, VolumeAutomation 을 구현하고 있습니다. AudioTrack은 자바 응용프로그램에 대한 단일 오디오 리소스를 관리하고 재생합니다. 재생을 위해 PCM 오디오 버퍼를 오디오 싱크로 스트리밍할 수 있습니다. 이것.. 2023. 7. 26.
[Open Source] KoreanNumberFormatter 라이브러리 개발 동기 내부 라이브러리 클래스 중 PhoneNumberUtils가 존재하는데, 보통 번호 포맷을 적용하기 위해 쓰인다. 문제는 format 함수에 재난망 번호인 013 번호 체계가 존재하지 않아 포맷이 적용되지 않는 이슈가 있었다. 때문에 단말기의 지역이 한국인 경우 새로 만든 KoreanNumberFormatter 클래스를 이용해 번호를 반환해주기 위해 만들었다. 소개 Android Studio에서 Java를 이용해 제작했으며 번호 체계는 전기통신번호관리세칙, 대한민국의 전화번호 체계, 나무위키 전화번호 를 참고해 구현했다. 클래스는 KoreanNumbers, KoreanNumberFormatter, KoreanNumberEditText 총 3가지로 구성되어 있다. 먼저 KoreanNumbers는 .. 2023. 7. 20.
[Open Source] AudioRecord PCM 파일로 녹음하기 시작 이전 게시물에서는 AudioRecord가 무엇 인지에 대해 정리했습니다. AudioRecord의 개념과 구현 방식, 장점 등에 대해 알아보았는데, 이번 포스팅에선 AudioRecord API를 이용해 pcm 확장자로 녹음하는 것에 대해 정리하려 합니다. 왜 하필 pcm 인가에 대해 궁금하실 수 있을 것 같아 말씀드리면 Andriod Developer에서 말하는 read 함수 모두 pcm 포맷을 파라미터로 넘기라고 되어 있으며 이것 때문인지 대다수의 예제 코드들이 pcm 확장자로 파일을 저장하는 것들이 였습니다. 따라서 기본기라고 생각하고 pcm 확장자 파일로 저장하는 포스팅을 한 후에 다른 확장자로 정의하는 것에 대해 정리할 예정입니다. 권한 요청 이번 포스팅에서는 오디오 데이터를 기록하고 기록된 .. 2023. 7. 20.
[Open Source] AudioRecord 소개 시작 제가 조사한 바에 따르면 안드로이드로 오디오를 녹음하는 방법에는 세 가지가 있습니다. 첫 번째는 MediaRecorder를 이용하는 것이며 두 번째는 AudioRecord를 마지막은 Native AudioRecord를 사용하여 녹음을 할 수 있습니다. 각 각의 API 마다 장점이 있지만 그 중 AudioRecord에 대해 정리한 글이며 Andriod Developer의 AudioRecord 페이지를 번역한 게시물입니다. 오역이 있을 수 있으니 원문이 필요하신 분들은 아래 링크를 이용해 주세요. AudioRecord | Android Developers developer.android.com AudioRecord란? AudioRecord는 Object 클래스를 상속 받고 있으며 AudioRouting.. 2023. 7. 20.