ios音頻播放–歸納

來源:互聯網
上載者:User

ios音頻播放

在 iPhone 應用或者是遊戲的開發過程中,對聲音的支援是必不可少的。在我做過的幾個應用中,每個都涉及到音效,所以在這裡做個簡單的歸納,很多都是引用自《iPhone Application Programming Guide》(需要有 Apple ID 才能開啟連結),加了一些實際使用的經驗。
iPhone OS 主要提供以下了幾種播放音訊方法:
System Sound Services
AVAudioPlayer 類
Audio Queue Services
OpenAL


1. System Sound Services
System Sound Services 是最底層也是最簡單的聲音播放服務,調用 AudioServicesPlaySystemSound 這個方法就可以播放一些簡單的音頻檔案,使用此方法只適合播放一些很小的提示或者警告音,因為它有很多限制:
■ 聲音長度要小於 30 秒
■ In linear PCM 或者 IMA4 (IMA/ADPCM) 格式的
■ 打包成 .caf, .aif, 或者 .wav 的檔案
■ 不能控制播放的進度
■ 調用方法後立即播放聲音
■ 沒有迴圈播放和立體聲控制
另外,它還可以調用系統的震動功能,方法也很簡單。具體的代碼可以參考官方的樣本 SysSound
,但是官方的樣本只有一些簡單的用法,從文檔中我們發現可以通過 AudioServicesAddSystemSoundCompletion 方法為音頻播放添加 CallBack 函數,有了 CallBack 函數我們可以解決不少問題,比如可以克服 System Sound Services 本身不支援迴圈播放的問題。以下代碼可以實現一個在程式中迴圈播放的背景音樂:


?
12345678910111213141516171819202122232425262728293031 static

void

completionCallback (SystemSoundID  mySSID) {
    //
Play again after sound play completion
    AudioServicesPlaySystemSound(mySSID);
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.