ボタンを押したときに音を鳴らしたい。また、音は複数あります。Xcode 4.4.1 と Storyboard を使用しています。
.h ファイル内
{
IBOutlet UIButton *playSound;
}
ボタンを押したときに音を鳴らしたい。また、音は複数あります。Xcode 4.4.1 と Storyboard を使用しています。
.h ファイル内
{
IBOutlet UIButton *playSound;
}
この型の例を書くと面白いと思ったので書きました。ボタンが押されたときに異なるランダム サウンドを再生する方法を示します。
-(IBAction)buttonPressedWithSound:(id)sender {
int randomSoundNumber = arc4random() % 4; //random number from 0 to 3
NSLog(@"random sound number = %i", randomSoundNumber);
NSString *effectTitle;
switch (randomSoundNumber) {
case 0:
effectTitle = @"sound1";
break;
case 1:
effectTitle = @"sound2";
break;
case 2:
effectTitle = @"sound3";
break;
case 3:
effectTitle = @"sound4";
break;
default:
break;
}
SystemSoundID soundID;
NSString *soundPath = [[NSBundle mainBundle] pathForResource:effectTitle ofType:@"caf"];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AudioServicesCreateSystemSoundID ((CFURLRef)soundUrl, &soundID);
AudioServicesPlaySystemSound(soundID);
}
説明:
プロジェクトに次の 4 つのサウンドを追加します: sound1.caf、sound2.caf、sound3.caf、およびsound4.caf。
AudioToolbox フレームワークをプロジェクトにインポートします。そして .h に含めます#import <AudioToolbox/AudioToolbox.h>
。
ボタンを経由でbuttonPressedWithSoundに接続することを忘れないでくださいIBAction
。
私はこの方法を見つけました、そしてそれは私のために働きます
SystemSoundID soundID;
NSString *soundPath = [[NSBundle mainBundle] pathForResource:ClickSoundFile ofType:FileTypemp3];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AudioServicesCreateSystemSoundID ((__bridge CFURLRef)soundUrl, &soundID);
AudioServicesPlaySystemSound(soundID);
*ノート
ClickSoundFile : サウンドファイル名 FileTypemp3 : ファイルタイプ mp3