iOS MP3파일 재생 방법 (AVAudioPlayer)
어제 퇴근시간이 다다랐을 무렵, 갑자기 데모 앱에 음성 안내를 넣자는 제안이 들어왔습니다. 헉! 이건 또 무슨 소리야? 했는데 음성메시지로 만들고 싶은 텍스트를 입력하면 wma파일로 만들어주는 앱이 이미 있다면서 wma파일을 하나 만들어서 주는 바람에 넣지 않겠다고 할 수 없는 상황이라 부랴 부랴 프레임워크를 추가하고 간다하게 코드를 추가 하게 되었습니다.
카톡방 친구들 도움을 받아 순식간에 처리하게 되었는데 초 간단 MP3파일 재생 방법을 정리 해보겠습니다.
우선 .wma파일을 mp3로 변환이 필요했습니다.
다음 사이트에서 무료로 변환이 가능해서 급하게 처리를 하게 되었습니다.
WMA TO MP3 -> https://convertio.co/kr/wma-mp3/
간단하게 wma파일을 업로드 하고 변환을 하면 변환이 되고 dropbox같은 쉐어 유틸을 사용하시는 분들은 그쪽으로 받으셔도 됩니다.
다음으로 프로젝트 설정을 하면 됩니다.
사용할 Framework를 추가하고 변환한 mp3파일을 번들 리소스에 추가해주면 됩니다.
프로젝트 Build Phases설정 탭을 이미지로 올려 놓겠습니다.
AVFoundation.framework를 추가 해 주었고, self_button.mp3파일을 번들 리소스에 추가해 주었습니다.
ViewController.m 파일에서 import를 추가하였습니다.
#import <AVFoundation/AVFoundation.h>
사용할 AVAudioPlayer를 Property로 선언합니다.
@property(nonatomic, strong) AVAudioPlayer *audioPlayer;
다음 viewDidLoad에서 초기화 작업을 필요한데 다음과 같이 해주면 됩니다.
_audioPlayer = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
다음 play할 메서드를 추가하고 호출 해주면 끝입니다.
- (void)playAudio {
if (_audioPlayer == nil) {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"self_button" ofType:@"mp3"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileUrl error:NULL];
[_audioPlayer setNumberOfLoops:0];
[_audioPlayer setVolume:1.0f];
[_audioPlayer prepareToPlay];
}
[_audioPlayer play];
}
완전 간단하죠?
NSBundle mainBundle을 가지고 해당 리소스를 찾아와 NSNURL로 path를 만들어 AVAudioPlayer을 생성하면 되고 audioPlayer의 설정을 간단하게 해주면 됩니다.
setNumberOfLoops의 경우 -1로 하면 무한 루프로 재생이 됩니다.
간단하죵?
이상 iOS MP3재생 방법에 대한 이야기였습니다.
'프로그래밍 > Xcode-iOS' 카테고리의 다른 글
iOS statusBar Color변경에 따른 UINavigationBar 높이 조절 팁 (0) | 2017.09.29 |
---|---|
iOS 화면 밝기 조정 방법 (0) | 2017.09.27 |
iOS(아이폰) 진동 구현 , 간단하다. (0) | 2017.07.20 |
Xcode8 iOS Framework 만들고 배포하기 (0) | 2017.07.17 |
iOS 랜덤숫자와 객체 비교 예제 (arc4random(), indexOfObject) (0) | 2017.07.05 |