加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift - 歌曲播放样例(附带播放时间和播放进度)

发布时间:2020-12-14 07:14:51 所属栏目:百科 来源:网络整理
导读:使用MPMoviePlayerController我们可以是进行音乐播放,下面是一个播放器样例。同时,播放时还可以显示播放时间和播放进度。 import UIKit import MediaPlayer class ViewController : UIViewController { //申明一个媒体播放控件 var audioPlayer: MPMoviePla
使用MPMoviePlayerController我们可以是进行音乐播放,下面是一个播放器样例。同时,播放时还可以显示播放时间和播放进度。

import UIKit
import MediaPlayer
class ViewController : UIViewController {
//申明一个媒体播放控件
var audioPlayer: MPMoviePlayerController = MPMoviePlayerController ();
//申明一个计时器
var timer: NSTimer ?
//ProgressView控件 播放进度条
@IBOutlet weak var progressView: UIProgressView !
//Label控件 播放时间
@IBOutlet weak var playTime: UILabel !
override func viewDidLoad() {
super .viewDidLoad()
onSetAudio( " http://hangge.com/file/music.mp3" )
}
override func didReceiveMemoryWarning() {
super .didReceiveMemoryWarning()
}
//播放歌曲
func onSetAudio(url: String ){
//暂停当前歌曲的播放
self .audioPlayer.stop()
//获取歌曲文件
self .audioPlayer.contentURL= NSURL (string:url)
//播放歌曲
self .audioPlayer.play()
//先停掉计时器
timer?.invalidate()
//将计时器归零
playTime!.text= "00:00"
//开启计时器
timer= NSTimer .scheduledTimerWithTimeInterval(0.4,target: self ,
selector: "onUpdate" ,userInfo: nil ,repeats: true )
}
//计时器更新方法
func onUpdate(){
//返回播放器当前的播放时间
let c=audioPlayer.currentPlaybackTime
if c>0.0 {
//歌曲的总时间
let t=audioPlayer.duration
//歌曲播放的百分比
let p: CFloat = CFloat (c/t)
//通过百分比设置进度条
progressView!.setProgress(p,animated: true )
//一个小算法,来实现00:00这种格式的播放时间
let all: Int = Int (c)
let m: Int =all % 60
let f: Int = Int (all/60)
var time: String = ""
if f<10{
time= "0(f):"
} else {
time= "(f)"
}
if m<10{
time+= "0(m)"
} else {
time+= "(m)"
}
//更新播放时间
playTime!.text=time
}
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读