У меня есть базовое приложение для iOS, которое использует AVPlayer
для воспроизведения локальных файлов с прикрепленным MTAudioProcessingTap
. Я добавил всплывающее окно UIAlertView
с текстовым полем, чтобы добавить пользовательские URL-адреса в список воспроизведения приложения, но когда предупреждение отображается с использованием [alert show]
, звуковая система выходит из строя. Если я покажу предупреждение перед тем, как какой-либо трек будет воспроизведен, начните воспроизведение трека, а затем снова отобразите предупреждение, он будет работать нормально - почти так же, как если бы на первый показ был некоторый штраф CPU-шипа (хотя я ничего не вижу на инструментах).UIAlertView разрывает аудиопроцесс AVPlayer
Alert:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Play Remote Track"
message:@"Enter the address."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Play", nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
Ошибки:
- Log сообщение:
<ClientProcessingTapManager> AudioQueueProcessingTapGetSourceAudio posting message to kill mediaserverd (36078)
MTAudioProcessingTapGetSourceAudio()
возвращает код состояния268451843
затем на следующий пакет268435459
.
Update: Проблема происходит только во время отладки, так получается, что это не остановит всю работу. Тем не менее, мне все равно было бы интересно разобраться в этом.
Спасибо за предложение - к сожалению, нет радости. Предупреждение создается внутри обратного вызова «IBAction», поэтому, по-видимому, он уже находится в основном потоке. –
Я отредактировал свой ответ, попробуйте посмотреть пример кода. – wzbozon