【发布时间】:2013-03-09 18:30:19
【问题描述】:
我试图弄清楚为什么声音没有在我的应用中播放,所以我创建了一个我认为尽可能简单的实现:
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。即使是播放调用也表明成功。但是,模拟器和设备中都没有声音播放。
【问题讨论】:
-
这是一个既定的事实,它只是因为一些愚蠢的原因在模拟器中不起作用。
-
您通过传递给“
AVAudioPlayer”的“error”参数返回了什么样的错误? -
NSLog(@"NSError=%@", 错误);打印 NSError=(null)
标签: ios avaudioplayer