我正在尝试使用以下代码播放mp3文件。它似乎运行良好,但手机没有声音。卷已启动,找到文件(如果我将请求的文件更改为不存在的名称,则会出现错误),并且不会显示任何错误(即使在“playerError”中)。我看到的唯一可能是问题的可能是玩家在完成游戏之前解除分配,但我不确定如何解决这个问题。有关问题可能是什么以及如何解决的任何建议?非常感谢!
...
if([responseString isEqual: @"Stop"]){
[self playStop];
}
...
- (void) playStop{
NSString *soundFilePath =
[[NSBundle mainBundle] pathForResource: @"stop"
ofType: @"mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
NSError *playerError;
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
error: &playerError];
[newPlayer play];
}
答案 0 :(得分:1)
如果你使“AVAudioPlayer
”成为一个实例变量或属性(而不是函数中的局部变量),那么它坚持而不是被ARC立即释放当“playStop
”结束时,你可能会有更好的运气。