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]; 
  • удалить объект в NSMutableArray в диапазоне
  • Как удалить глянцевую подсветку на выбранном UITabBarItem в iOS?
  • Загрузка подвью из файла nib в построителе интерфейса
  • Пользовательский PopOver с рамкой рисунка
  • UIWebView - не изменяет размер содержимого при изменении поворота?
  • Защита данных на iOS
  • Распространение iPhone-приложений частным клиентам
  • Как подключить открытый ключ сертификата к iOS
  • Как приостановить / возобновить загрузку в iPhone (iOS)
  • Исходное приложение Обновите проверку, включение и отключение программно для всего устройства и для каждого конкретного приложения в iOS 7
  • Изменение главного представления в режиме Split View не обновляет popover в портрете
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.