Я пытаюсь запустить этот пример кода с iOS 7.0, но я получаю некоторые предупреждения из-за устаревшего кода. Пример кода предоставлен здесь не обновлялся 3 года. Вот решение, которое я нашел, которое имеет для меня смысл, но у меня возникли проблемы с реализацией в примере кода, поэтому он будет работать внутри симулятора iOS.
AVAudioSession* session = [AVAudioSession sharedInstance];
session.delegate = self;// <-------- DEPRECATED IN IOS 6.0
Чтобы отключить предупреждение, измените эти 2 строки на это:
[[AVAudioSession sharedInstance] setActive:YES error:nil];
Кто-то еще предложил
[AVAudioSession sharedInstance];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruption:) name:AVAudioSessionInterruptionNotification object:nil];
Приведенное выше решение является быстрым решением, но я хочу, чтобы программа работала правильно.
Но все это заставляет меня задаться вопросом, как я могу назвать вызов функции setPreferredHardwareSampleRate
чем-то, что не устарело.
[mySession setPreferredHardwareSampleRate: graphSampleRate
error: &audioSessionError];