2015-07-01 54 views
1

目前,我正在創建一個可從服務器播放自定義音頻剪輯的鬧鈴應用程序。我的計劃是通過在本地保存所有音頻剪輯,然後相應地設置soundName。

但我有幾個問題。目前我遇到麻煩,將音頻文件保存在捆綁目錄中,只能將文件保存在文檔目錄中。是否可以從文檔目錄而不是捆綁目錄設置soundName?

是否可以將音頻文件從服務器保存到捆綁軟件目錄?UILocalNotification:播放保存在文檔目錄中的自定義音頻文件

var localNotification = UILocalNotification() 
    localNotification.fireDate = self.timePicker.date 
    localNotification.alertBody = "Alert Fired" 
    localNotification.soundName = "fakesound.caf" // File saved in Document Directory 
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

謝謝,請讓我知道你是否對我的問題有任何困惑。或者,如果你能想出另一個解決方案來解決這個問題。

回答

2

不幸的是,答案是否定的。

您只能在本地通知中播放捆綁包中的聲音,並且該捆綁包是隻讀的。

唯一的聲音你可以從本地通知播放必須與您的應用程序一起發貨。沒有其他選擇。

+0

好的確認。我一直在努力弄清楚自己。 有誰知道蘋果的理由是爲了防止在UILocalNotification中播放下載的聲音?這是否是安全/沙箱問題,以防止未經許可的音頻突然意外播放?這是我能想到的唯一的事情,但它很似是而非。 –

+1

這是可能的。經過一些研究(試驗和錯誤)後,我發現如果聲音文件存儲在「庫/聲音」目錄中,它將作爲本地通知成功播放。我已經寫了一個不同的SO問題的完整答案,在這裏:http://stackoverflow.com/a/39454122/1280479 –

+0

@AndyShephard,這是個好消息。它與文檔所說的相矛盾。你在談論沙盒庫/聲音目錄? –