2016-06-07 278 views

回答

1

UILocalNotification只接受聲音文件名,而不是文件路徑。而對於soundName的文檔解釋,這個文件一定是「......在應用程序的主束......」。獲取路徑的系統聲音文件是沒有用的與UILocalNotification因爲該文件是不是在你的應用程序的主束,因爲你不能告訴UILocalNotification看別的地方。

+0

所以這是不可能的? – R3ptor

+0

這就是我要說的。如果您想通過本地通知使用聲音,該聲音必須位於您的應用程序包中。 –

+0

有沒有辦法導入這些系統聲音,以便我可以將它添加到捆綁包中? – R3ptor

0

爲您的UILocalNotification soundName財產

UILocalNotification *localNoti = [UILocalNotification alloc] init]; 
localNoti.soundName = @"your sound with file format (exmpl.m4r)"; 

,並確保您的聲音超過30秒不再。這是一個聲長的限制 希望這個幫助

+0

這就是我所做的。就像你在我的問題中看到的一樣。 – R3ptor

+0

檢查您的音頻文件的路徑,它們需要捆綁在您的應用程序 – iSashok

+0

音頻文件位於每個iOS設備上。所以我沒有進口任何東西 – R3ptor

0

我寫給你在原來的文章鏈接到回購。

不幸的是,你不能指在localNotification聲音的路徑。您必須將應用程序包中的文件(即附加到應用程序的.MP3文件)用作自定義聲音。

0

當然可能,您只需將您需要的自定義聲音移動到此路徑: Library/Sounds ,,,默認情況下Sounds文件夾不在庫下,因此您需要創建它,然後複製任何自定義聲音文件(無論是下載到文件,然後複製或複製系統聲音)到這個目錄,如我所說的庫/聲音。根據蘋果公司的說法,聲音文件應該捆綁在一起(如果隨應用程序一起提供)或者只在這個目錄庫/聲音中。在iOS 10之前和iOS 10之後,您可以將任何擴展名的聲音文件名分配給本地通知中的聲音名稱屬性,您可以將ti指定給內容聲音名稱構造函數。我之前嘗試過幾次,都是通過播放來自遠程服務器或系統聲音的本地和遠程通知工作的。如果您需要任何幫助,將其用於任何快速版本或Objective-C中,歡迎您。