Как я могу воспроизвести записанный звук, используя локальное уведомление? - PullRequest
0 голосов
/ 29 июня 2011

У меня есть приложение, которое требует, чтобы пользователь записал свое собственное сообщение для воспроизведения в будущем.Моим намерением было сделать это с помощью UILocalNotification.К сожалению, кажется, что звук, связанный с локальным уведомлением, должен быть сохранен в главном комплекте, но пользователь не может сделать запись и сохранить ее в комплекте.

Как получить записанный пользователем звуковой файл длявоспроизводиться через локальное уведомление?

В качестве альтернативы - есть ли способ, если приложение не работает, чтобы захватить локальное уведомление (без ожидания ответа пользователя на предупреждение) и затем воспроизвести нужный звуковой файл?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 03 июля 2011

Вы можете назначить (пользовательский) звук для UILocalNotification, установив его свойство следующим образом:

localNotification.soundName = @"MySoundFile.wav";

К сожалению, согласно ссылке, невозможно использовать звуковой файл, который не хранится в основном комплекте или объявлен Apple:

Для этого свойства укажите имя файла (включая расширение) звукового ресурса в главном комплекте приложения или UILocalNotificationDefaultSoundName, чтобы запросить системный звук по умолчанию.

См. Также Ссылка на класс UILocalNotification # soundName

3 голосов
/ 16 февраля 2016

Я думаю, что это возможно для ios 9, вот что написано в документации Apple:

Для удаленных уведомлений в iOS вы можете указать собственный звук, который воспроизводит iOS, когда он представляет локальное или удаленное уведомление для приложения. Звуковые файлы могут находиться в основном комплекте клиентского приложения или в папке «Библиотека / Звуки» контейнера данных приложения.

Я протестировал сохранение звука в папку Library / Sounds, затем использовал его с локальным уведомлением, и оно работало нормально на iOS 9, после этого я попробовал то же самое на iOS 8, и это не сработало, поэтому мое заключение было это возможно только для iOS 9

Вы можете получить доступ к каталогу библиотеки следующим образом:

let fileManager = NSFileManager.defaultManager()
let libraryPath = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)[0]
let soundsPath = libraryPath + "/Sounds"

Вы должны создать каталог, если он не существует:

fileManager.createDirectoryAtPath(soundsPath, withIntermediateDirectories: false, attributes: nil)

и вы можете сохранить свои звуки там.

0 голосов
/ 15 августа 2014

Свойство soundname локального уведомления может указывать путь к звуковому файлу в комплекте приложения.Невозможно использовать звуковую запись голоса пользователя, так как ее нельзя сохранить в комплекте приложений во время выполнения.

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

...