2

オーディオツールボックスを使用しています

.h ファイル

#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>

@interface ViewController : UIViewController {

}

-(IBAction)buttonPressedWithSound:(id)sender;

@end

および .m ファイル内

-(IBAction)buttonPressedWithSound:(id)sender {

int randomSoundNumber = arc4random() % 4; //random number from 0 to 3

NSLog(@"random NR = %i", randomSoundNumber);

NSString *effectTitle;

switch (randomSoundNumber) {
    case 0:
        effectTitle = @"Come at me BRO!";
        break;

    default:
        break;
}

SystemSoundID soundID;

NSString *soundPath = [[NSBundle mainBundle] pathForResource:effectTitle ofType:@"mp3"];
NSSound *sound = [[[NSSound alloc] initWithContentsOfFile: soundPath byReference: NO]       autorelease];

[sound play];

AudioServicesCreateSystemSoundID ((CFURLRef)CFBridgingRetain(soundUrl), &soundID);
AudioServicesPlaySystemSound(soundID);
}

しかし、iPhoneで実行すると、AUGraph.hに #include AudioUnit/AudioUnit.h があり、その右側に「AudioUnit/AudioUnit.h」ファイルが見つからないというログが表示されました。

これを修正して携帯電話で実行するにはどうすればよいですか?

4

2 に答える 2

1

stackmonster が言ったように、Build Phases>Link Binary with Library でそれを使用しようとしているクラスにも #include する必要があることを確認してください (おそらく audioUnit も含めようとしますが、理由がわかりません)

また、AVAudioPlayer を使用することもできます。これは、あなたにとってより簡単かもしれません (私にとってはそうでした)。

AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:NULL];

theAudio.volume = 1.0;

theAudio.delegate = self;

[theAudio prepareToPlay];

[theAudio play];
于 2012-08-10T19:58:33.270 に答える
-1

ビルド フェーズでアプリに audiotoolbox フレームワークを追加します...リンクされたライブラリ

于 2012-08-10T16:11:40.383 に答える