【发布时间】:2012-06-07 01:15:01
【问题描述】:
我已将音频工具箱和 avfoundation 导入我的班级,并将框架添加到我的项目中,并使用此代码播放声音:
- (void)playSound:(NSString *)name withExtension:(NSString *)extension
{
NSURL* soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:name ofType:extension]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
audioPlayer.delegate = self;
audioPlayer.volume = 1.0;
[audioPlayer play];
}
我这样称呼它:
[self playSound:@"wrong" withExtension:@"wav"];
但是我的声音为零。
【问题讨论】:
-
soundURL有效,audioPlayer不为零?可能会尝试将NSError对象传递到AVAudioPlayer的初始化中,看看是否有错误。 -
在您
init之后,您是audioPlayer非零吗?如果不使用错误参数,您可能会得到一些有用的帮助... -
我已经完成了
NSError *err;并将&err添加到audioPlayer并像这样打印它:NSLog(@"%@", err);而我得到的只是(null)。 -
你的
audioPlayer不是零吗? -
您在使用 ARC 吗?我想这是可能的,因为没有人有一个强引用,ARC 可能在加载缓冲区和播放样本的时间里释放了它?
标签: iphone objective-c audio