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