在iPhone应用程序中播放循环声音的最简单方法是什么?

最佳答案

可能最简单的解决方案是使用AVAudioPlayer,将numberOfLoops:设置为负整数。

// *** In your interface... ***
#import <AVFoundation/AVFoundation.h>

...

AVAudioPlayer *testAudioPlayer;

// *** Implementation... ***

// Load the audio data
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"sample_name" ofType:@"wav"];
NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
NSError *audioError = nil;

// Set up the audio player
testAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];
[sampleData release];

if(audioError != nil) {
    NSLog(@"An audio error occurred: \"%@\"", audioError);
}
else {
    [testAudioPlayer setNumberOfLoops: -1];
    [testAudioPlayer play];
}



// *** In your dealloc... ***
[testAudioPlayer release];


您还应该记住设置适当的音频类别。 (请参见AVAudioSession setCategory:error:方法。)

最后,您需要将AVFoundation库添加到您的项目中。为此,请在Xcode的“组和文件”列中,单击项目的目标,然后选择“获取信息”。然后选择“常规”选项卡,单击底部“链接的库”窗格中的+,然后选择“ AVFoundation.framework”。

09-07 14:06