2

当使用 AVAudioPlayer 按下按钮时,我正在尝试播放歌曲剪辑。整个剪辑在 Xcode 中播放良好,但是当我在设备上加载应用程序并按下按钮时,它会播放歌曲的第一秒,然后安静下来。

我在 viewDidLoad 下有这个:

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Song.aiff", [[NSBundle mainBundle] resourcePath]]];

player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&audioFileError];
player.numberOfLoops = -1;

然后当按下按钮时:

if (player == nil)
    NSLog(@"Audio file could not be played");
else
    [player play];

编辑:我也对如何播放音频剪辑的其他建议持开放态度,AVAudioPlayer 似乎是最简单和最直接的方法。

4

2 回答 2

3

实例化 AVAudioPlayer 后,您就错过了这个:

[self.player prepareToPlay];

此方法为播放准备缓冲区。

在引用您的变量时也使用self,这样您就可以通过访问器方法正确访问实例变量,而不是直接访问 ivar。

于 2012-08-02T19:10:42.240 回答
1

由于 8vius 修复了它,放入

[player prepareToPlay];

在 numberOfLoops 行之后,它就像一个魅力。

于 2012-08-02T19:08:28.110 回答