AVAudioPlayer и AVAudioSession не будут воспроизводиться на BlueTooth стерео на iPad (2 или иначе)

У меня есть приложение, которое воспроизводит записанное аудио, а также повторяющиеся звуки. Звуки воспроизводятся правильно через встроенный iPad-динамик, и если я подключу шнур от разъема для наушников к стереофоническому входу, он также хорошо воспроизводится. Когда я соединяю свой iPad со своим стереофоническим входом bluetooth, все звуки из моих других приложений (написанные для iPhone, работающие на моем iPad) работают нормально, как и все остальные звуки с моего устройства.

Проблема в том, что мое приложение, написанное для iPad, НЕ воспроизводится по пути Bluetooth, а вместо этого воспроизводится из встроенных динамиков.

В моем делете приложения в методе didFinishLaunchingWithOptions (…) я разместил следующее:

NSError *error = nil; [[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; [[AVAudioSession sharedInstance] setActive:YES error:&error]; 

Этот код вызывается, и ошибки не возвращаются.

В моем коде контроллера я записал образцы, которые я воспроизвожу с помощью AVAudioPlayer, следующим образом:

 audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordURL error:&error]; audioPlayer.numberOfLoops = 0; [audioPlayer setDelegate:self]; [audioPlayer play]; 

В других областях у меня есть дроны, которые играют короткие звуки .01 секунд, повторяющиеся в потоковом управляемом контуре, и я делаю это с помощью OpenAL:

  alSourcePlay(sourceID); 

Это тот же код, что и в моих других приложениях, написанных для iPhone, который работает по своему желанию.

Я понимаю, что есть другие темы, связанные с входом bluetooth, но у меня есть конкретная проблема с выходом аудио звуков из моего iPad-приложения.

4 Solutions collect form web for “AVAudioPlayer и AVAudioSession не будут воспроизводиться на BlueTooth стерео на iPad (2 или иначе)”

Невозможно.

Из очень интересного документа Apple AVAudioSession – выбор микрофона QA1799:

Если приложение использует метод setPreferredInput: error: для выбора входа HFP Bluetooth, выход автоматически будет изменен на выход Bluetooth HFP. Более того, выбор выхода HFP Bluetooth с помощью устройства выбора маршрута MPVolumeView автоматически изменит входной сигнал на вход HFP Bluetooth. Поэтому вход и выход всегда будут на устройстве Bluetooth HFP, даже если только вход или выход были установлены отдельно.

Поскольку ваша категория – «Воспроизведение и запись», вам необходимо включить Bluetooth в качестве входа, чтобы он поддерживался как выход (по умолчанию тот же приемник используется для ввода / вывода в режиме воспроизведения и записи). Для этого вам нужно будет установить дополнительное свойство на вашем AVAudioSession:

 UInt32 allowBluetoothInput = 1; AudioSessionSetProperty ( kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput ); 

Вы также захотите проверить, что вы не kAudioSessionProperty_OverrideCategoryDefaultToSpeaker вывод на встроенный динамик в любом месте вашего кода, установив свойство kAudioSessionProperty_OverrideCategoryDefaultToSpeaker на свой сеанс.

это решение на данный момент, но оно устарело, и все знают новое решение, но теперь добавьте эту часть кода в свое приложение, и все работают очень хорошо!

  UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

Надеюсь, это поможет вам!

Вы проверили с помощью setCategory withOptions? Его начало с iOS 6

  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&error]; 
  • Где кэшировать файлы удаленных изображений в iOS?
  • TabBarController и SplitViewController
  • Как вставить ячейку в UITableViewController
  • Методы делегатов UITableView
  • iPhone / iPad и iTunesArtwork
  • Получение имени ключа в AVMetadataItem для AVAsset в iOS
  • настройка фонового изображения UISegmentedControl
  • Результаты поиска iOS
  • Выполнение архива в XCode с подключенным iPad 4
  • Тема убивает ОС
  • sigabrt без сообщения об ошибке
  • Interesting Posts

    Использование реакции-native-router-stream с сокращением, как обновить состояние в компоненте представления?

    Фоновое изображение размыто на некоторых страницах на iOS

    IOS: преобразовать строку в шестнадцатеричный массив

    Прогресс в многоступенчатой ​​форме в приложениях ios

    Настройка rootView.appProperties не перерисовывает корневой компонент

    Google Analytics – Демография – IDFA

    Формат Int64 с тысячами разделителей

    AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer: buffer withPresentationTime возвращающая ошибка NSURLErrorCannotCreateFile

    Тест XCTest для того, чтобы не происходить до таймаута

    Как мне не удается клавиша «Пробел» на клавиатуре в Swift?

    Доступность сети iOS – кажется, не работает

    Избавьтесь от пространства на правой стороне UINavigationBar

    Раскадровка Segue для нескольких просмотров?

    Совместное использование данных между двумя или более приложениями iPhone

    MonoGame и MonoTouch на iOS – Ориентация ландшафта

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.