Каждый раз, когда я проигрываю свой клип AVAudio
, он воспроизводится, а через мгновение вылетает. Я не могу понять почему. Когда вылетает, то в журнале ничего не дает. Вот мой код. Я также импортировал AVFoundation/AVFoundation.h
и AudioToolbox/AudioToolbox.h
-(void)soundEffect {
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *filePath = [mainBundle pathForResource:@"BlastWAV" ofType:@"wav"];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSError *error = nil;
avSound = [[AVAudioPlayer alloc] initWithData:fileData error:&error];
[avSound prepareToPlay];
[avSound play];
}
1 ответ
Вот ответ:
Поскольку вы используете cocos2d, вы можете использовать SimpleAudioEngine, если вы используете v2.x или OALSimpleAudio, если вы используете v3.x следующим образом:
[[SimpleAudioEngine sharedEngine] preloadEffect:@"sound.caf"];
[[SimpleAudioEngine sharedEngine] playEffect:@"sound.caf"];
И когда вы закончите с этим в конце сцены:
[[SimpleAudioEngine sharedEngine] unloadEffect:@"sound.caf"];
Для v3 эквивалент:
[[OALSimpleAudio sharedInstance] preloadEffect:@"sound.caf"];
[[OALSimpleAudio sharedInstance] playEffect:@"sound.caf" loop:NO];
[[OALSimpleAudio sharedInstance] unloadAllEffects];
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.