Play sound effect on iPhone app
在 AudioToolbox 的 framework,我們可以使用 AudioServicesPlaySystemSound 來播放音效。這個 function 可以播放簡短的聲音 (30 秒以內)。因為這個聲音會播放超過幾秒鐘,所以他是非同步的方式。想要知道音樂是否播放完畢,也有另外一個 AudioServicesAddSystemSoundCompletion 透過註冊 callback 的來查看。在使用上要注意有些限制:
- 播放音效檔案不能超過 30 秒鐘
- 必須符合 PCM 或者 IMA4 (IMA/ADPCM) 格式
- 必須包裝成 .caf, .aif, 或者 .wav 檔案
使用 AudioServicesPlaySystemSound 因為簡單,所以他是使用系統播放音量,不能程式控制聲音大小、馬上播放性質、不能重複播放和跳到特定位置、一次只能播放一個聲音。
程式來看看如何使用 AudioServicesPlaySystemSound:
定義 SystemSoundId
初始化註冊
播放
結束釋放
以上透過這樣,即可讓想要播放的時機點,快速的播放聲音出來。使用此功能不能播放 mp3 檔案,所以想要播放比較大型複雜的音樂檔案,要另外參考 AVAudioPlayer。
Comments
Post a Comment