2015-01-07 195 views
0

我發送應用程序接收到的解析推送通知,但請求的聲音不播放,而是默認播放聲音。這些聲音已被應用程序保存在文檔文件夾中。我可以在iTunes中查看他們在那裏。在某個時候,這是工作,但由於某種原因,它已經停止播放所需的聲音。如果我登錄推送通知用戶信息詞典,則聲音名稱正確:用自定義聲音解析推送通知播放默認聲音

2015-01-11 12:17:41.356 My App[239:60b] didReceiveRemoteNotification, userInfo: { 
    aps =  { 
     alert = "XXX says FOO from the console!"; 
     sound = "w8nmridutW_v1.mp3"; 
    }; 
} 

任何想法?

回答

0

根據文檔here,mp3不是支持的文件類型。你確定你以前得到這個mp3文件嗎?如果是這樣,您遇到無證/不受支持的行爲。

這裏的相關位:

準備自定義提示音就會響起

對於iOS的遠程通知,您可以指定自定義聲音時,它提出了一個應用程序的本地或遠程通知的iOS播放。聲音文件必須位於客戶端應用程序的主包中。

定製警報聲音由IOS系統聲設施發揮,因此它們必須在以下的音頻數據格式之一:

線性PCM
MA4(IMA/ADPCM)
μLaw
ALAW

您可以將音頻數據打包成aiff,wav或caf文件。然後,在Xcode中,將聲音文件作爲應用程序包的非本地化資源添加到項目中。

您可以使用afconvert工具來轉換聲音。例如,要在16位線性PCM系統的聲音Submarine.aiff轉換爲IMA4音頻在CAF文件,在終端應用程序中使用以下命令:

afconvert /System/Library/Sounds/Submarine.aiff 〜/ Desktop/sub.caf -d ima4 -f caff -v

您可以通過在QuickTime Player中打開並從Movie菜單中選擇Show Movie Inspector來檢查聲音以確定其數據格式。

播放時自定義聲音必須低於30秒。如果自定義聲音超過該限制,則會播放默認的系統聲音。

+0

我只使用過mp3,但這可能是原因。我會看看。 – izk