2015-01-09 54 views
2

我正在嘗試爲iOS 8構建自定義鍵盤,當按鍵時自定義播放聲音。我正在使用AVAudioPlayer和小型mp3文件。iOS 8自定義鍵盤,播放聲音

這在模擬器中正常工作,但在真實的設備上我聽不到任何聲音。

RequestOpenAccess已啓用。

請不要說我不是在播放默認的鍵盤咔嗒聲,而是自定義聲音。大多數現有問題似乎都是關於默認系統聲音的。

編輯:我也嘗試使用.caf和.aiff文件並加載並使用SystemSoundID播放它們。

+0

當您嘗試播放聲音時,控制檯中是否有任何錯誤或警告? – LastMove

+0

不,沒有。它只是沉默。這就像聲音加載,但無法播放,因爲應用程序凍結大約與音頻長度相同的時間。 –

+0

如果應用程序凍結,也許您可​​以使用像Time Profiler之類的Xcode工具來查看應用程序凍結的方法。 – LastMove

回答

2

這段代碼在我的鍵盤項目中播放自定義聲音。

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"your_custom_sound" 
                 ofType:@"mp3"]; 
SystemSoundID soundID; 
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID); 
AudioServicesPlaySystemSound (soundID); 

引自:

How to play tock sound when tapping custom keyboard buttons

+0

當您播放聲音時,您是否遇到性能問題? –

+0

性能沒有問題。順便說一下,我的項目中的聲音文件大小爲8KB。 – merge

0

我敢肯定這是不是你的情況,但它經常發生在設備上的聲音已關閉。我犯了一個小時爲什麼聲音不起作用的錯誤。如果只有這樣,這將是一個快速修復;)

+0

希望是那麼簡單。 :)我什至確保我有內置鍵盤的默認點擊聲音,可以在這裏很好。 –