Элементы управления iPod mini отключены при установке определенных параметров аудиосеанса - PullRequest
19 голосов
/ 03 января 2011

Я работаю над музыкальным визуализатором для iphone / ipad, под iOS 3 вы можете дважды нажать кнопку «Домой» и получить управление iPod.В последней версии 4.1-4.2 эти элементы управления теперь неактивны при нажатии кнопки «Домой».Я нашел похожую жалобу в http://openradar.appspot.com/8696944,, хотя решения не было.

У меня установлена ​​базовая категория звука kAudioSessionCategory_PlayAndRecord, для kAudioSessionProperty_OverrideCategoryMixWithOthers установлено значение true.(Просто, чтобы добавить больше удовольствия к проблеме, я использую OpenAl для некоторых звуковых эффектов.)

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

Ответы [ 3 ]

0 голосов
/ 16 января 2011

Мой iPod touch 4G работает под управлением iOS 4.2, и у него нет этой проблемы.Я бы попытался связаться с Apple.

0 голосов
/ 24 января 2011

Что ж, я сдался. Теперь я кодирую свой собственный пользовательский интерфейс на основе примера кода AddMusic http://developer.apple.com/library/ios/#samplecode/AddMusic/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40008845-Intro-DontLinkElementID_2

Я рад сообщить, что воспроизведение и остановка через MPMusicPlayerController не 'Кажется, конфликт с настройками воспроизведения и записи сеанса.И создание собственного play / pause / FF кажется довольно простым

ps. Я также обнаружил, что это приложение Music Visualizer: http://itunes.apple.com/us/app/music-visualizer/id337651694?mt=8 - это просто загруженный образец addMusic, и этот парень заряжается 2Бак за это .. У него ужасные отзывы ... но все равно кажется, что он в магазине приложений.

0 голосов
/ 09 января 2011

Вот где я до сих пор дошел:

AudioSessionInitialize(NULL, NULL, NULL, self);
UInt32  sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

devicetwo = alcOpenDevice(NULL);
contexttwo = alcCreateContext(devicetwo, 0);

    //The following two lines are the lines that gray out iPod controls:

alcMakeContextCurrent(contexttwo); 
AudioSessionSetActive(YES);

Элементы управления iPod остаются серыми даже после выхода из приложения ... А удаление двух строк кода преступника не дает звукав приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...