iOS 9音頻應用播放音頻之控制播放速度

iOS 9音頻應用播放音頻之控制播放速度

iOS 9音頻控制播放速度

iOS9音頻文件在播放時是以必定的速度進行的。這個速度是能夠進行更改的,從而實現iOS9音頻文件的快速播放和慢速播放功能。要實現iOS9播放速度的更改須要使用AVAudioPlayer類中的rate屬性實現。其語法形式以下:swift

  • var rate: Floatide

其中,該屬性設置的值爲浮點類型,範圍在0.52.0之間。若是該屬性的值設置爲1.0表示正常播放,它也是默認值。2.0表示以最快的速度進行播放,0.5表示以最慢的速度進行播放。spa

注意:若是開發者要iOS 9音頻實現播放速度的改變則必需要對enableRate屬性進行設置,該屬性的功能是否容許改變播放速度。其語法形式以下:.net

  • var enableRate: Boolorm

其中,該屬性設置的值爲布爾類型。將值爲true時,表示容許改變播放速度,反之,則不運行改變播放速度。教程

【示例2-6】如下將以第一個iOS 9音頻實例爲基礎,讓用戶能夠控制音頻文件的播放速度。具體的操做步驟以下:開發

1將主視圖中的Rate Text Field文本框與插座變量rateTextField進行關聯。get

2將主視圖中的Rate Text Field文本框與動做setRate進行關聯。string

3右擊主視圖中的Rate Text Field文本框,在彈出的Rate Text Field對話框,如圖2.27所示。it

4選擇Sent Events下的Did End On Exit選項,將此選項和dock中的View Controller進行關聯,如圖2.28所示。

5Did 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人!

相關文章
相關標籤/搜索