mp3ファイルなど音のならし方についてのメモです。
(iOS 5で試してます。)
準備
AVFoundation.framework を使います。
XcodeでLink Binary With Librariesに追加します。
簡単に音を鳴らしたいときは、
AVFoundation の AVAudioPlayer がオススメです。
例えば、Garageband で作ったこんなファイル
をならしたい場合、コードをこんな感じで書けば音が鳴ります。
サンプルコード
#import “ViewController.h”
#import <AVFoundation/AVFoundation.h>
@interface ViewController()
@property (nonatomic, strong) AVAudioPlayer *myPlayer;
@end
@implementation ViewController
@synthesize myPlayer;
– (void)viewDidLoad
{
[super viewDidLoad];
// start ボタン
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@”Play” forState:UIControlStateNormal];
[btn sizeToFit];
btn.center = self.view.center;
[self.view addSubview:btn];
// ボタンの Action – Target
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(playMySound)];
[btn addGestureRecognizer:tap];
}
– (void)playMySound
{
// ファイル読み込み
NSData *fileData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@”dog” ofType:@”mp3″]];
// player 準備
NSError *playbackError = nil;
self.myPlayer = [[AVAudioPlayer alloc] initWithData:fileData error:&playbackError];
// 再生
if (self.myPlayer != nil) {
[self.myPlayer prepareToPlay];
[self.myPlayer play];
}
}
– (void)viewDidUnload
{
[super viewDidUnload];
self.menu = nil;
if ([self.audioPlayer isPlaying]) {
[self.audioPlayer stop];
}
self.audioPlayer = nil;
}
@end