★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-gdnbfzyn-mc.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目錄:[Swift]通天遁地Swiftios
本文將演示實現對音頻播放的控制。git
首先確保在項目中,已經安裝了所需的第三方類庫,點擊查看安裝的配置文件。github
1 platform :ios, '8.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'CryptoSwift', :git => "https://github.com/krzyzanowskim/CryptoSwift", :branch => "master" 7 end
根據配置文件中的相關設置,安裝第三方類庫。swift
完成安裝以後,雙擊打開項目文件【DemoApp.xcworkspace】微信
往項目中導入了一個音頻文件。ide
在左側的項目導航區,打開視圖控制器的代碼文件【ViewController.swift】oop
1 import UIKit 2 //在當前的類文件中,引入已經安裝的第三方類庫。 3 import AudioPlayer 4 5 class ViewController: UIViewController { 6 //添加一個音頻播放器,做爲當前類的一個屬性。 7 var audioPlayer:AudioPlayer! 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 // Do any additional setup after loading the view, typically from a nib. 11 // Initialize 12 13 //添加一個按鈕,當用戶點擊該按鈕時,開始播放該文件。 14 let play = UIButton(frame: CGRect(x: 40, y: 80, width: 240, height: 40)) 15 //設置按鈕在正常狀態下的標題文字 16 play.setTitle("Play", for: .normal) 17 //設置按鈕的背景顏色爲橙色 18 play.backgroundColor = UIColor.orange 19 //給播放按鈕控件綁定點擊事件 20 play.addTarget(self, action: #selector(ViewController.playMusic(_:)), for: UIControl.Event.touchUpInside) 21 22 //添加第二個按鈕,當用戶點擊該按鈕時,中止音頻文件的播放 23 let stop = UIButton(frame: CGRect(x: 40, y: 180, width: 240, height: 40)) 24 //設置按鈕在正常狀態下的標題文字 25 stop.setTitle("Stop", for: .normal) 26 //設置按鈕的背景顏色爲橙色 27 stop.backgroundColor = UIColor.orange 28 //給中止按鈕控件綁定點擊事件 29 stop.addTarget(self, action: #selector(ViewController.stopMusic(_:)), for: UIControl.Event.touchUpInside) 30 31 //設置根視圖的背景顏色 32 self.view.backgroundColor = UIColor.orange 33 //將兩個按鈕依次添加到根視圖 34 self.view.addSubview(play) 35 self.view.addSubview(stop) 36 37 //添加一個異常捕捉語句,用來初始化音頻播放對象 38 do 39 { 40 //讀取項目中的音頻文件,並初始化一個音頻播放器 41 try audioPlayer = AudioPlayer(fileName: "music.mp3") 42 43 //給音頻播放器添加一個播放結束事件監聽器, 44 audioPlayer.completionHandler = {(_ didFinish: Bool) -> Void in 45 //當播放結束時,在控制檯輸出提示語句。 46 print("---The music finishes playing, or is stopped.") 47 } 48 } 49 catch 50 { 51 print("---Sound initialization failed") 52 } 53 } 54 55 //添加一個方法,用來響應播放按鈕的點擊事件 56 @objc func playMusic(_ button:UIButton) 57 { 58 //設置音頻播放器音量的大小,範圍從0.0到1.0 59 audioPlayer.volume = 0.8 60 //設置音頻播放的循環次數爲3 61 audioPlayer.numberOfLoops = 3 62 //調用音頻播放器的播放方法,開始播放指定的音頻文件。 63 audioPlayer.play() 64 } 65 66 //添加一個方法,用來響應中止按鈕的點擊事件 67 @objc func stopMusic(_ button:UIButton) 68 { 69 //當音頻播放器處於播放狀態時 70 if audioPlayer.isPlaying 71 { 72 //在控制檯輸出播放的時長 73 print(audioPlayer.duration) 74 //輸出播放器當前的時刻 75 print(audioPlayer.currentTime) 76 //在控制檯輸出音頻文件的名稱 77 print(audioPlayer.name ?? "") 78 //以及音頻文件在項目中的路徑 79 print(audioPlayer.url ?? "") 80 81 //調用播放器的淡出方法,在1秒鐘內,逐漸中止音頻的播放 82 audioPlayer.fadeOut(duration: 1.0) 83 84 //或者當即中止音樂的播放, 85 //直接調用音頻播放器的中止方法。 86 audioPlayer.stop() 87 } 88 } 89 90 override func didReceiveMemoryWarning() { 91 super.didReceiveMemoryWarning() 92 // Dispose of any resources that can be recreated. 93 } 94 }