2015-01-31 86 views
1

我不知道有關音頻或終端的蹲坐。我已經使用這個終端命令將WAV文件轉換爲使用iOS中:如何將.wav文件轉換爲.caf文件以便在iOS中使用

afconvert -v -f 'caff' -d LEI16 -s 1 /users/myUserName/Desktop/hibeep.wav /users/myUserName/Desktop/hibeep.caf 

將文件添加到我的項目後,沒有任何反應,當我執行:

NSURL * softURL = [[NSBundle mainBundle] URLForResource: @"hibeep" withExtension: @"caf"]; 
CFURLRef softSoundURL = (__bridge CFURLRef) softURL; 
AudioServicesCreateSystemSoundID(softSoundURL, &_beepSound); 
AudioServicesPlaySystemSound (_beepSound); 

然而,當我點擊在Project Navigator中的hibeep.caf上,聲音會播放正常。

我已經在模擬器和iPad上都試過了。

有什麼建議嗎?

感謝

回答

2

嘗試在Xcode中選擇音頻文件,並檢查是選擇 xcode

+0

謝謝瓦倫丁。它被檢查。 – 2015-01-31 20:28:48

3

TL目標; DR;

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

龍版本: 我知道這是舊的,但該線程已經解決我的問題,所以這裏的解決方案,在問題的問題。

CAF只是一個容器,您對容器中保存的數據使用了錯誤的編解碼器。從蘋果DOC報價:

自定義的警報聲音由iOS系統的聲音設施出場,所以他們必須在下面的音頻數據格式之一:

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

這裏的合適的終端命令轉換WAV到CAF時(MA4)

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

我嘗試了一切,但推送通知似乎不適用於自定義聲音。在項目根目錄放置CAF &&/Library/Sounds/&& xCode - >/Resources已經過了2天,我的想法已經用完了。 – 2017-04-29 01:04:10

+0

原始來源的類型是什麼?我敢打賭,正如我的回答中所解釋的那樣,這是CAF文件中的錯誤編解碼器。我作爲iOS用戶,我也注意到iOS 9+喜歡搞亂所有應用程序的通知聲音。重新安裝應用程序通常會有所幫助。也許是在發展的情況呢?嘗試刪除應用並重新部署。除了這兩種可能的解決方案之外,我在這裏還可以做的更多:( – 2017-05-02 15:57:15

+0

以下是一些不太正確的東西:在Xcode中,當我點擊聲音文件時,右邊有一個窗口顯示與此相關的信息文件,有一個屬性「Codecs:---」。可能是讀取編解碼器文件有問題?我確定它是正確的編解碼器。我用Adobe Premiere導出聲音文件。我嘗試了所有可用的編解碼器,但似乎都沒有 – 2017-05-04 08:38:20

0

我嘗試了一切,但推送通知似乎不適用於自定義聲音。放置CAF項目根& &/Library/Sounds/& & xCode - >/Resources已經過了2天,我已經沒有想法了。

奇怪的是,當我在xCode中選擇一個聲音文件時,有一個窗口顯示該文件的屬性,但編解碼器:---似乎沒有檢測到。我使用Apple要求的編解碼器從Adobe Premiere導出wav文件。試圖將這些wav文件添加到項目中,但沒有奏效,試圖將這些wav轉換爲caf放置也沒有奏效......嘆氣。

相關問題