У меня есть приложение, которое использует RemoteIO для обработки ввода-вывода (категория PlayAndRecord), а также включает MPMusicPlayerController.MPMusicPlayerController убивает RemoteIO на iPhone Динамик маршрут
Странная вещь: только на iPhone, когда RemoteIO запущен, а спикер iPhone - это аудиоприложение, запуск воспроизведения в MPMusicPlayerController приведет к событию kAudioSessionBeginInterruption, и мой RemoteIO будет выключен. Музыка iPod (MPMusicPlayerController) продолжает воспроизводиться.
Кажется, что на iPhone, со спикером, RemoteIO и MPMusicPlayerController не могут играть одновременно? На iPad у меня не было проблем работать с RemoteIO и MPMusicPlayerController. На iPhone, если я подключу что-то (наушники, динамики и т. Д.) В гнездо гарнитуры, все будет работать нормально, и оба потока будут работать. Кажется, это только проблема на iPhone, если спикер - это место назначения.
Я переопределяю выход AudioSession на iPhone-динамик (kAudioSessionSetperty_OverrideCategoryDefaultToSpeaker) при обнаружении выхода приемника, это делается для более естественного ожидания для пользователя. Возможно, iPod-плеер тоже делает это.
Я также установил свойство kAudioSessionProperty_OverrideCategoryMixWithOthers в true. Это позволяет проигрывателю iPod (предположительно) играть вместе.
Я написал несколько тестовых кодов для перезапуска моего сеанса RemoteIO позже, и это, в свою очередь, заставит MPMusicPlayerController прекратить воспроизведение. Таким образом, указывает, что назначение говорящего может быть исключительным?
Я также пробовал как с «iPodMusicPlayer», так и с «applicationMusicPlayer» членами MPMusicPlayerController, не было различий в вышеупомянутых результатах между ними.
Любой совет, безусловно, оценили
После дальнейшего тестирования и нахождения этого места для iPhone Speaker будет единственным случайным случаем (iPad отлично работает, гарнитуры работают нормально), я подал ошибку с Apple. – MOK9