Играть локальный звук значения по умолчанию уведомления при отображении UIAlertView?

Я пишу приложение напоминаний для iPhone, который отображает напоминания с помощью локальных уведомлений.

Если напоминание уходит, в то время как приложение работает, локальное уведомление не отображено. Вместо этого didReceiveLocalNotification метод называют в моем делегате приложения, и я подражаю локальному диалоговому окну уведомления путем отображения a UIAlertView с текстом напоминаний.

Когда локальные уведомления отображены за пределами приложения, устройство вибрирует и звук, указанный UILocalNotificationDefaultSoundName играется. Снова, я хотел бы подражать этому в приложении при отображении UIAlertView.

Я могу вибрировать устройство путем вызова AudioServicesPlaySystemSound(kSystemSoundID_Vibrate), но я не могу выяснить, как играть локальный звук значения по умолчанию уведомления. Нет никакого эквивалентного постоянного SystemSoundID, и я не уверен, каков путь был бы.

tl; доктор I хотел бы играть локальный звук значения по умолчанию уведомления при отображении UIAlertView. Какие-либо идеи?

40
задан Pang 6 December 2013 в 02:06
поделиться

1 ответ

Хороший вопрос. В идеале можно было бы выбрать системный звук с помощью AudioServices. Однако следующее утверждение из «Справочника по системным звуковым службам» Apple предполагает иное:

В Mac OS X, когда пользователь настроены системные настройки для мигания экран для предупреждений, или если звук невозможно отобразить, называя это функция приведет к экрану мигает. В Mac OS X передайте постоянный kSystemSoundID_UserPreferredAlert для воспроизвести звуковой сигнал, выбранный пользователь в Системных настройках. В iOS оповещения о предпочтительном пользователе нет звук.

Поскольку кажется, что SDK мало что может предложить, вы можете имитировать системные звуки, используя свой собственный файл wav. По следующей ссылке есть хорошая библиотека, возможно, она будет иметь нужный вам звук: http://sites.google.com/site/iphonesounds/iPhoneOriginalSystemSounds_WAV.zip

Удачи!

67
ответ дан 27 November 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: