今日はボタンを押したら音楽が繰り返しながれる、
もう一回ボタンを押したら音楽がストップするというアプリケーションを作ってみたいと思います。
objective-cで音楽を入れるのは、
どうやら二種類あるみたいで、
ある程度音楽が長いBGMとして利用する方法と、
30秒以内の短い音(効果音)として利用する方法
がありました。
■BGMの方からいきたいと思います!
1、Frameworksに既存のワークフレームを追加
AVFoundation.framework
を追加します。
2、.hファイルに以下を追加
#import
→追加したフレームワークにインポート
@property(nonatomic,retain)AVAudioPlayer *audio;
→プロパティを追加
3、.mファイルでBGMのロード
AVAudioPlayer* audio;
NSString* path = [[NSBundle mainBundle]
pathForResource:@"bgm1" ofType:@"mp3"]; //bgm1.mp3ってファイルを読み込んでます。
NSURL* url = [NSURL fileURLWithPath:path];
audio = [[AVAudioPlayer alloc]
initWithContentsOfURL:url error:nil];
audio.numberOfLoops = -1; //ループする回数の指定。(-1: 無限、0:
1回、1:
2回)
●音楽の再生と、一時停止、停止は、以下のようにして出来ます。
[audio play]
[audio pause]
[audio stop]
4、音楽ファイルをリソースの中に追加
忘れてました、、
resorceフォルダの中に音楽データを入れます。
■次は効果音のほうです!
1、Frameworksに既存のワークフレームを追加
AVFoundation.framework
を追加します。
2、.hファイルに以下を追加
#import
→追加したフレームワークにインポート
3、.mファイルで効果音のロード
SystemSoundID mSound = 0;
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundUrl = CFBundleCopyResourceURL(
mainBundle, CFSTR("se1"), CFSTR("wav"), NULL );
AudioServicesCreateSystemSoundID( soundURL, &mSound );
●音楽の再生はこんな感じ
AudioServicesPlaySystemSound( mSound );
音楽の名前にIDをつけて呼び出すって感じですね。
0 件のコメント:
コメントを投稿