iOS 9音訊應用播放音訊之控制播放速度
iOS 9音訊應用播放音訊之控制播放速度
iOS 9音訊控制播放速度
iOS9音訊檔案在播放時是以一定的速度進行的。這個速度是可以進行更改的,從而實現iOS9音訊檔案的快速播放和慢速播放功能。要實現iOS9播放速度的更改需要使用AVAudioPlayer類中的rate屬性實現。其語法形式如下:
- var rate: Float
其中,該屬性設定的值為浮點型別,範圍在0.5到2.0之間。如果該屬性的值設定為1.0表示正常播放,它也是預設值。2.0表示以最快的速度進行播放,0.5表示以最慢的速度進行播放。
注意:如果開發者要iOS 9音訊實現播放速度的改變則必須要對enableRate屬性進行設定,該屬性的功能是否允許改變播放速度。其語法形式如下:
- var enableRate: Bool
其中,該屬性設定的值為布林型別。將值為true時,表示允許改變播放速度,反之,則不執行改變播放速度。
【示例2-6】以下將以第一個iOS 9音訊例項為基礎,讓使用者可以控制音訊檔案的播放速度。具體的操作步驟如下:
(1)將主檢視中的Rate Text Field文字框與插座變數rateTextField進行關聯。
(2)將主檢視中的Rate Text Field文字框與動作setRate進行關聯。
(3)右擊主檢視中的Rate Text Field文字框,在彈出的Rate Text Field對話方塊,如圖2.27所示。
(4)選擇Sent Events下的Did End On Exit選項,將此選項和dock中的View Controller進行關聯,如圖2.28所示。
(5)Did End On Exit選項和dock中的View Controller進行關聯後,會彈出當前宣告的方法,如圖2.29所示。
圖2.28 iOS 9音訊關聯
(6)選擇其中的setRate:方法,此時Did End On Exit就與setRate:方法進行關聯了,如圖2.30所示。
圖2.29 iOS 9音訊彈出方法對話方塊 圖2.30 iOS 9音訊關聯後的效果
(7)開啟ViewController.swift檔案,編寫程式碼,實現播放速度的控制。程式碼如下:
- @IBAction func setRate(sender: AnyObject) {
- rateTextField.resignFirstResponder() //關閉鍵盤
- //判斷音訊檔案是否沒有開始播放
- if(audioEffect!.playing==false && audioEffect?.currentTime == 0.0){
- //沒有開始播放
- audioEffect?.enableRate=true //允許改變播放速度
- let rateValue=NSString(string: rateTextField.text!).floatValue
- audioEffect?.rate=rateValue //設定播放速度
- hideMoreSettingsView()
- }else{
- //開始播放
- let alertController = UIAlertController(title: "提示", message: "音樂開已經播放,設定無效", preferredStyle: UIAlertControllerStyle.Alert)
- //關閉更多設定項
- let action = UIAlertAction(title: "知道了", style: UIAlertActionStyle.Default){
- (action: UIAlertAction!) -> Void in
- self.hideMoreSettingsView()
- }
- alertController.addAction(action)
- self.presentViewController(alertController, animated: true, completion: nil)
- }
- }
此時執行程式,在出現的模擬器介面中輕拍更多按鈕,彈出更多設定項,在播放速度對應的文字框中輸入數字,按下return鍵後,退出更多設定項。輕拍播放按鈕,音訊檔案就會進行播放了。此時音訊檔案播放的速度與使用者輸入的數字有關。
注意:如果開發者在iOS 9音訊檔案播放一段時間後輕拍更多按鈕,在彈出的更多設定項中輸入播放速度,此時輸入的速度是無效的,它不可以控制音訊檔案的播放速度,所以在按下return鍵後,會彈出“iOS9音樂已經播放,設定無效”的警告檢視,如圖2.31所示。
圖2.31 iOS 9音訊警告檢視
本文選自:iOS 9音訊應用開發基礎教程大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1967645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS 9音訊應用播放音訊之iOS 9音訊播放進度iOS音訊
- iOS 9音訊應用播放音訊之ios9音訊基本功能iOS音訊
- iOS 9音訊應用播放音訊之第一個ios9音訊例項iOS音訊
- iOS 9音訊應用播放音訊之第一個ios9音訊例項2iOS音訊
- iOS 9音訊應用播放音訊之播放控制暫停停止前進後退的設定iOS音訊
- iOS 9音訊應用播放音訊之音量設定與聲道設定iOS音訊
- 電腦播放音訊聽不到聲音音訊
- Android 音視訊開發 - 使用AudioTrack播放音訊Android音訊
- 使用soundPool播放音訊音訊
- iOS開發:音訊播放、錄音、視訊播放、拍照、視訊錄製iOS音訊
- iOS AVAudioPlayer(音訊播放)iOS音訊
- JS控制音訊順序播放JS音訊
- iOS開發系列--音訊播放、錄音、視訊播放、拍照、視訊錄製(轉)iOS音訊
- Android中用SoundPool播放音訊Android音訊
- 微信小程式播放音訊列表微信小程式音訊
- Android音視訊之MediaPlayer音視訊播放Android
- iOS開發之簡單音訊播放器iOS音訊播放器
- 用觸發器在PowerPoint控制音訊的播放觸發器音訊
- python實現播放音訊和錄音功能示例程式碼Python音訊
- Android中用MediaPlay播放音訊和影片Android音訊
- 七、FFmpeg 4.0.2 + SDL2 播放音訊音訊
- iOS 收款推送訊息語音播報iOS
- 視音訊播放音訊
- 訊息語音播報,微信語音自動播放,有點兒意思,可以看看這個應用
- ios平臺cocos2d-x播放音訊、視訊、音效的Demo(支援網路視訊)iOS音訊
- 音視訊系列之iOS: 音訊採集 AudioUnitiOS音訊
- 帶你用AVPlayer實現音訊和視訊播放音訊
- Laravel-admin toastr 訊息提醒、播放音訊、點選跳轉LaravelAST音訊
- iOS開發簡單的音訊播放器iOS音訊播放器
- ios中的音訊播放,好文,mark,等待後續iOS音訊
- ios網路學習------9 播放網路視訊iOS
- iOS之視訊的三種播放方式iOS
- iOS視訊邊下邊播–快取播放資料流iOS快取
- android 音訊播放 SoundPoolAndroid音訊
- hqplayer pro 4,音訊播放音訊
- Flutter(十) 音訊+影片播放Flutter音訊
- iOS視訊播放(二)iOS
- SoundSource音訊控制音訊