mp3ファイルなど音のならし方についてのメモです。

(iOS 5で試してます。)

準備

 AVFoundation.framework を使います。

 XcodeLink Binary With Librariesに追加します。

簡単に音を鳴らしたいときは、

AVFoundation の AVAudioPlayer がオススメです。

例えば、Garageband で作ったこんなファイル

dog.mp3

をならしたい場合、コードをこんな感じで書けば音が鳴ります。

サンプルコード

#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