我配置了一个AVAudioPlayer对象,并在适当的时候播放它。但是,如果我第二次尝试播放相同的对象,它有时会播放,有时则不会(非常不可预测)。
-(void)loadBeepSound{
....
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:beepURL error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
}
else{
[self.audioPlayer prepareToPlay];
}}
上面的loadBeepSound方法被调用一次,然后只要我需要播放它,我只是使用play方法。
if (self.audioPlayer) {
[self.audioPlayer play];
}
是否还有其他应该做的事情,比如总是从主线程中播放等等? self.audioPlayer永远不会变为null,我已经检查过了。