AVAudioPlayer:简单的声音没有播放

时间:2013-03-09 18:30:19

标签: ios avaudioplayer

我正在试图找出为什么声音没有在我的应用中播放,所以我创建了我认为尽可能简单的实现:

  NSError *error;
   NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"canary-trills" ofType:@"wav"];
  NSLog(@"string=%@", soundFilePath);
  NSURL *url = [[NSURL alloc] initFileURLWithPath:soundFilePath];
  NSLog(@"URL=%@", url);
  AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc]
                            initWithContentsOfURL:url error:&error];
  [avPlayer prepareToPlay];
  BOOL success = [avPlayer play];
  NSLog(@"The sound %@ play", success ? @"did" : @"didn't");

根据控制台,它看起来像找到资源,正确创建URL。即使是通话也表示成功。但是,模拟器和设备中没有声音播放。

1 个答案:

答案 0 :(得分:2)

AVAudioPlayer未被保留&超出了范围。

添加: @property(强,非原子)AVAudioPlayer * audioPlayer;

到课堂&使用该成员解决了这个问题。