0

我正在尝试使用以下代码播放 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];
}
4

1 回答 1

1

如果您将“ AVAudioPlayer”设为实例变量或属性(而不是函数中的局部变量),以便在“”完成时它会一直存在而不是立即被 ARC 释放playStop,那么您可能会有更好的运气。

于 2013-10-04T17:06:43.037 回答