在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”。