В моем приложении я хочу иметь будильник / уведомление об уровне громкости звонка и оповещения.
Другими словами, об уровне громкости, на котором используются телефонные звонки или будильники (Предпочтения / Звук / Звоноки оповещения).Он отличается от уровня громкости системы, который изменяется с помощью кнопок громкости.
Он также должен воспроизводиться более 30 секунд.
Я знаю, что это возможно, потому что некоторые приложения с часами могут это делать.
ОБНОВЛЕНИЕ: ОК, я нашел неидеальное решение.Если использовать AudioServicesCreateSystemSoundID и загрузить свой собственный звуковой файл (aif, wav и т. Д. Без mp3 или другого сжатого звука), чем это работает.Единственная проблема заключается в том, что он должен быть 30 секунд или меньше, но я могу разрезать его на 30 секунд и воспроизводить их по частям.
Он не работает при включенном бесшумном включении, что является проблемой для меня.
Код:
SystemSoundID mySound;
AudioServicesCreateSystemSoundID(CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("mySound"), CFSTR("aif"), NULL), &mySound);
AudioServicesPlaySystemSound(mySound);
Я подозреваю, что OpenAL должен сделать это.У кого-нибудь есть простой пример, который загружает файл aif / wav и воспроизводит его на iPhone.Я нашел несколько сложных примеров, но все, что мне нужно, это просто играть и останавливать звук (даже если он подает, это нормально).