日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS8 用AVAudioPlayer播放音乐(Swift)

發布時間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS8 用AVAudioPlayer播放音乐(Swift) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AVAudioPlayer?類提供了播放音頻文件的功能,在本次教程中,我們將對一個音樂文件進行播放暫停和停止操作,此外還會顯示標題和播放時間。本次教程使用iOS8和Xcod6.3.1

打開Xcode創建一個新的?Single View Application?,使用IOS8SwiftPlayMusicAVAudioPlayerTutorial?作為?product name?,并填寫組織名稱和標識符。選擇?Swift?語言并確保設備選擇iPhone。

在這個工程中我們需要開始暫停和停止按鈕的圖片和一個mp3文件。你可以在這里下載?。解壓文件并把它們添加到工程,確保是拷貝他們到目標文件夾。

轉到故事板拖兩個標簽和兩個按鈕到主視圖。依次選擇他們并在?Size Inspector?填入下列值。

  • 上面的標簽 -> X: 16, Y: 60, Width: 568, Height:17
  • 中間的標簽 -> X: 250, Y: 120, Width: 100, Height: 36
  • 左邊的按鈕 -> X: 16, Y: 220, Width: 102, Height: 102
  • 右邊的按鈕 -> X:484, Y: 220, Width: 102, Height: 102

再依次選擇他們在?Attributes Inspector?添加以下值。

  • 上面的標簽: Center Alignment, Font – System 14.0
  • 中間的標簽: Center Alignment. Font – System Bold 30.0
  • 左邊的按鈕: Type -Custom, Image – playpause.png
  • 右邊的按鈕: Type – Custom, Image – stop.p

按下?Resolve Auto Layout?按鈕在故事板的右下角,選擇?Reset to Suggested Constraints

現在故事板看起來是這樣的

選擇助理窗口并確保?ViewController.swift?可見。

按住?Ctrl?拖動頂部的標簽創建下列的插口。

按住?Ctrl?拖動中間的標簽創建下列的插口。

按住?Ctrl?拖動播放暫停圖片創建下列動作。

按住?Ctrl?拖動播放停止圖片創建下列動作。

在?ViewController.swift?文件中導入?AVFoundation?框架。

import AVFoundation

添加下列屬性在?ViewController?類中

var audioPlayer = AVAudioPlayer() var isPlaying = false var timer:NSTimer!

AVAudioPlayer?類可以讓你播放任何iOS支持的音頻格式。使用?isPlaying?布爾值來表示當前是否正在播放音樂。?NSTimer?屬性用來顯示當前播放音樂的時間。

修改?viewDidLoad?方法

override func viewDidLoad() {super.viewDidLoad()trackTitle.text = "Future Islands - Tin Man"var path = NSBundle.mainBundle().URLForResource("Future Islands - Tin Man", withExtension: "mp3")var error:NSError? audioPlayer = AVAudioPlayer(contentsOfURL: path!, error: &error) }

將標題賦值給標題的標簽,然后用音樂文件初始化?AVAudioplayer?,接著實現playOrPauseMusic?方法。

@IBAction func playOrPauseMusic(sender: AnyObject) {if isPlaying {audioPlayer.pause()isPlaying = false } else { audioPlayer.play() isPlaying = true timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "updateTime", userInfo: nil, repeats: true) } }

首先我們判斷是否正在播放,如果是,那么暫停音樂并改變?isPlaying?的值,如果沒有播放,我們播放它并改變?isPlaying?的值。然后創建一個?NSTimer?對象用來每秒調用?updateTime?方法,我們來實現它。

func updateTime() {var currentTime = Int(audioPlayer.currentTime)var minutes = currentTime/60var seconds = currentTime - minutes * 60playedTime.text = NSString(format: "%02d:%02d", minutes,seconds) as String }

播放器的?currentTime?屬性將被分割成分和秒兩部分用來顯示播放的時間。最后實現?stopSound?方法。

@IBAction func stopMusic(sender: AnyObject) {audioPlayer.stop()audioPlayer.currentTime = 0isPlaying = false }

播放器調用停止方法并重置當前播放時間。當下次按下播放時,將會從頭開始播放。?isPlaying?屬性將被賦值為false,構建并運行程序,按下播放/暫停按鈕和停止按鈕來控制音樂。

你可以下載?IOS8SwiftPlayMusicAVAudioPlayerTutorial?的源代碼在GitHub?的倉庫上。

轉載于:https://www.cnblogs.com/Free-Thinker/p/5044786.html

總結

以上是生活随笔為你收集整理的iOS8 用AVAudioPlayer播放音乐(Swift)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。