Я играю «звуковые эффекты» в своем приложении, когда нажимаются кнопки, и у меня возникли некоторые трудности с тем, чтобы заставить делегатов работать должным образом в классе AVAudioPlayer, чтобы музыка воспроизводилась после звука.У меня есть импортированные фреймворки и установлены делегаты, но я не могу заставить работать общий экземпляр AVAudioSession ... Я знаю, что чего-то не хватает, но не могу найти четкого ответа где-либо, даже в документах apple.Вот код, который я использую, пытаясь добиться этого.
#import "AVFoundation/AVAudioPlayer.h
#import "MediaPlayer/MediaPlayer.h"
@interface HomeViewController : UIViewController <AVAudioPlayerDelegate, MPMediaPlayback
> {
Когда нажата кнопка
-(IBAction)About
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"button" ofType:@"caf"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
AboutViewController *about = [[AboutViewController alloc] init];
[self presentModalViewController:about animated:YES];
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"move" ofType:@"caf"];
AVAudioPlayer* theAudio1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path1] error:NULL];
theAudio.delegate = self;
[theAudio1 play];
}
Делегаты, пытающиеся воспроизвести мой звук как "окружающий шум" или простовозобновление воспроизведения после моего звукакак это, но я не могу заставить AVAudioSession
работать!
-(void)audioPlayerEndInterruption:(AVAudioPlayer *)player withFlags:(NSUInteger)flags
{
if (flags == AVAudioSessionFlags_ResumePlay)
{
[player play];
}
}
Любая помощь или предложения будут с благодарностью.Мне просто нужно знать, как получить [AVAudio SharedInstance]
, поэтому, если кто-нибудь знает, какой класс мне нужно импортировать или какой фреймворк мне нужно добавить, чтобы это работало, это было бы очень кстати!
Спасибо