Iphone 多个AVAudioPlayers:我只能初始化第一个播放
我有很多声音片段,从sound1.mp3到soundN.mp3。我想在触摸屏上随机播放它们,所以我为每个剪辑设置了一个AVAudioPlayer,这些剪辑都存储在播放器中(AVAudioPlayer**)。初始化所有内容后,我可以播放的唯一声音是sound1.mp3。我做错了什么 谢谢你的帮助,初始化代码如下Iphone 多个AVAudioPlayers:我只能初始化第一个播放,iphone,objective-c,Iphone,Objective C,我有很多声音片段,从sound1.mp3到soundN.mp3。我想在触摸屏上随机播放它们,所以我为每个剪辑设置了一个AVAudioPlayer,这些剪辑都存储在播放器中(AVAudioPlayer**)。初始化所有内容后,我可以播放的唯一声音是sound1.mp3。我做错了什么 谢谢你的帮助,初始化代码如下 players = (AVAudioPlayer**) malloc ( sizeof (AVAudioPlayer*) * NUM_CLIPS); NSString* path; NSS
players = (AVAudioPlayer**) malloc ( sizeof (AVAudioPlayer*) * NUM_CLIPS);
NSString* path;
NSString* name;
for(uint i = 0; i < NUM_CLIPS; i++){
name = [NSString stringWithFormat: @"sound%d", i+1];
path = [[NSBundle mainBundle] pathForResource:name ofType:@"mp3"];
players[i] = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[players[i] setMeteringEnabled:YES];
[players[i] prepareToPlay];
}
players=(AVAudioPlayer**)malloc(sizeof(AVAudioPlayer*)*NUM_剪辑);
NSString*路径;
NSString*名称;
对于(uint i=0;i
没关系,似乎prepareToPlay的工作方式有问题原因是mp3/aac文件是硬件解码的,只能一次打开才能解码。詹姆斯·布鲁克斯(jamesbrooks dot net)说,将*.mp3文件改为*.caf可以让他在AVAudioPlayer上播放多种声音。但是,我个人无法同时播放*.caf文件,但我可以同时播放*.aiff文件