-1

を使ってAVFoundation framework音を出します。ファイルの先頭に、私は持っています:

#import <AVFoundation/AVAudioPlayer.h>

そして、AVFoundation frameworkは私のプロジェクトに適切に追加されます。ただし、このコードを使用してサウンドを再生すると、アプリがクラッシュします。

NSString *pathForBgMusicFile = [[NSBundle mainBundle] pathForResource:@"ClenchedTeeth" ofType:@"mp3"];
NSURL *bgMusicFile = [[NSURL alloc] initFileURLWithPath:pathForBgMusicFile];
AVAudioPlayer *bgMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:bgMusicFile error:NULL];
[bgMusic play];

誰かがこれを修正する方法を知っていますか?前もって感謝します!

4

3 に答える 3

1
#import <AudioToolbox/AudioToolbox.h>

およびyour.mファイル

FBundleRef mainBundle = CFBundleGetMainBundle();
        CFURLRef soundFileURLref;
        soundFileURLref = CFBundleCopyResourceURL(mainBundle ,(CFStringRef)@"yourSoundFile",CFSTR ("wav"),NULL);
        UInt32 soundID;
        AudioServicesCreateSystemSoundID(soundFileURLref, &soundID);
        AudioServicesPlaySystemSound(soundID);}

その場合は、ボタン内でこのコードを使用できます。オーディオツールフレームワークを追加することを忘れないでください。幸運を

于 2012-05-22T19:20:36.223 に答える
0

AVAudioSession再生する前に も設定してみてください。このような:

  AVAudioSession *audioSession = [AVAudioSession sharedInstance];
  audioSession.delegate = self;
  [audioSession setActive:YES error:nil];
  [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

それを忘れずにインポートし、クラスが と の両方AVAudioPlayerDelegateを実装していることを確認してくださいAVAudioSessionDelegate

于 2012-05-22T19:23:13.603 に答える
0

私は自分の Mac の前にいないので、これを試してください (2 行目を変更しただけです):

NSString *pathForBgMusicFile = [[NSBundle mainBundle] pathForResource:@"ClenchedTeeth" ofType:@"mp3"];
NSURL *bgMusicFile = [NSURL fileURLWithPath:pathForBgMusicFile];
AVAudioPlayer *bgMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:bgMusicFile error:NULL];
[bgMusic play];
于 2012-05-22T18:08:37.520 に答える