亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ZLMusic模仿百度音樂應用項目源碼

2019-11-14 19:34:30
字體:
來源:轉載
供稿:網友

 

func stopPlayMusic() {    if (self.isStop == true) {        self.player.pause()        btn .setTitle("播放", forState:UIControlState.Normal)        //var paused = player.currentTime        self.songImageView.layer.speed = 0.0             }else{        self.player.play()        btn .setTitle("暫停", forState:UIControlState.Normal)        self.songImageView.layer.beginTime = player.currentTime        self.songImageView.layer.speed = 0.1    }    isStop = !isStop   }   func downloadData(path: NSString,dataHandler: (NSData)->Void){        var url = NSURL(string: path)        var request = NSURLRequest(URL: url)        var mainQueue = NSOperationQueue.mainQueue()        NSURLConnection.sendAsynchronousRequest(request, queue: mainQueue) {            (response:NSURLResponse!, data:NSData!, error:NSError!) -> Void in            var httPResponse = response as NSHTTPURLResponse            if httpResponse.statusCode == 200 {               dataHandler(data)            }                     }     }         func downloadSong(path: NSString) {        self.downloadData(path, dataHandler: { (data: NSData) -> Void in            self.playSong(data)        })    }    func downloadSongLrc(path: NSString) {        var lrcPath = "http://ting.baidu.com/(path)"        self.downloadData(lrcPath, dataHandler: { (data: NSData) -> Void in            var lrc = NSString(data: data, encoding:NSUTF8StringEncoding)            var lrcLists = lrc.componentsSeparatedByString("/n") as NSArray            println("/(lrc)")            println("/(lrcLists[5])")                    })    }    func loadSongMessage(id: Int) {                 var path = "http://music.baidu.com/data/music/fmlink?type=mp3&rate=1&format=json&songIds=/(id)"        downloadData(path, dataHandler: { (data: NSData) -> Void in            var array: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error:nil) as NSDictionary            var dataDic: NSDictionary = array["data"] as NSDictionary            var list:NSArray = dataDic["songList"] as NSArray            var songDic:NSDictionary = list[0] as NSDictionary            self.currentSong.refreshSong(songDic)            self.title = self.currentSong.songName            println("/(songDic)")            self.playImage(self.currentSong.songPicRadio)            self.showSongInfo()            self.downloadSong(self.currentSong.songLink)            self.downloadSongLrc(self.currentSong.lrcLink)        })             }         func playImage(path: NSString) {                          if path == "" {            self.songImageView.backgroundColor = UIColor.cyanColor()        }else{            var url = NSURL(string: path)            var data = NSData(contentsOfURL: url, options: nil, error: nil)            var image = UIImage(data: data)            self.songImageView.image = image        }        self.songImageView.contentMode = UIViewContentMode.ScaleaspectFit        self.songImageView.layer.cornerRadius = self.songImageView.frame.width/2        self.songImageView.layer.masksToBounds = true        self.songImageView.userInteractionEnabled = true        var ges = UITapGestureRecognizer(target: self, action:"tapImageView:")        self.songImageView.addGestureRecognizer(ges)             }    func showSongInfo() {        self.artistName.text = self.currentSong.artistName        self.songName.text = self.currentSong.songName        self.timeLabel.text = "00:00"    }    func loadSongList() {        var path = "http://fm.baidu.com/dev/api/?tn=playlist&special=Flash&prepend=&format=json&_=1378945264366&id="+String(channel.id)        downloadData(path, dataHandler: { (data: NSData) -> Void in            var dic: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error:nil) as NSDictionary            var list: NSArray = dic["list"] as NSArray            for dict in list{                var song = Song()                song.id = dict["id"] as Int                self.songList.append(song)            }            if self.songList.count != 0 {                self.currentSong = self.songList[0]                self.loadSongMessage(self.currentSong.id)            }        })    }     func doAnimation() {        var animation = CABasicAnimation(keyPath: "transform.rotation.z")        animation.toValue = NSNumber(double: 2.0*M_PI)        animation.duration = 1.5        animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)        animation.removedOnCompletion = false        animation.cumulative = false        animation.repeatCount = FLT_MAX        self.songImageView.layer.addAnimation(animation, forKey: "AnimatedKey")        self.songImageView.layer.speed = 0.1    }         func tapImageView(sender:UITapGestureRecognizer){        self.stopPlayMusic()    }        override func viewDidLoad() {        super.viewDidLoad()        //self.title = channel.title        loadSongList()        self.view.backgroundColor = UIColor(red: 218/255.0, green: 225/255.0, blue: 230/255.0, alpha: 1)        println("/(channel.id)")    }    override func viewWillDisappear(animated: Bool) {        timer.invalidate()        self.songImageView.stopAnimating()        player.stop()    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }          func AudioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) {        timer.invalidate()        self.songImageView.layer.speed = 0        self.songImageView.stopAnimating()        var index = self.currentIndex + 1        loadSongWithIndex(index)}



 

這個項目是一個比較不錯的ZLMusic模仿百度音樂應用,也是采用Swift開發的百度音樂電臺,基本模仿了現實中的百度音樂應用功能了,支持播放功能,上首歌,下一首個,以及歌曲分類等。

項目源碼下載:http://code.662p.com/view/9375.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产婷婷97碰碰久久人人蜜臀| 亚洲精品久久久久久久久| 亚洲精品在线不卡| 黑人巨大精品欧美一区二区一视频| 亚洲欧美在线一区二区| 欧美尤物巨大精品爽| 午夜精品久久久久久久99热| 久久中文字幕一区| 成人黄在线观看| 欧美日韩国产va另类| 国产一区二区av| 午夜精品蜜臀一区二区三区免费| 亚洲a在线观看| 日韩国产欧美区| 成人福利在线视频| 成人激情av在线| 免费不卡在线观看av| 中文字幕一区日韩电影| 中文字幕日韩高清| 欧美黑人又粗大| 亚洲欧洲一区二区三区久久| 亚洲精品福利在线观看| 欧美日韩国产限制| 日韩欧美在线视频日韩欧美在线视频| 亚洲一区二区三区四区在线播放| 中文欧美在线视频| 欧美亚洲午夜视频在线观看| 26uuu另类亚洲欧美日本老年| 最近日韩中文字幕中文| www.日韩不卡电影av| 日本成人在线视频网址| 欧美精品videosex性欧美| 欧美成人免费全部| 亚洲国产中文字幕在线观看| 国产成人精品久久| 国产精品久久久久久久久久久不卡| 日韩欧美在线国产| 欧美激情亚洲另类| 亚洲国产成人精品电影| 91精品久久久久久久久久久| 日韩av在线高清| 亚洲国产婷婷香蕉久久久久久| 国产亚洲激情视频在线| 中文字幕日韩视频| 日韩精品在线播放| 久久久97精品| 欧美日韩午夜激情| 91亚洲午夜在线| 欧美疯狂xxxx大交乱88av| 国产精品ⅴa在线观看h| 欧美一级黄色网| 欧美福利视频在线| 91国内精品久久| 色综合视频一区中文字幕| 成人激情视频在线| 亚洲影视中文字幕| 91性高湖久久久久久久久_久久99| 久久69精品久久久久久久电影好| 色综合视频网站| 亚洲午夜精品久久久久久久久久久久| 成人h视频在线| 欧美另类69精品久久久久9999| 欧美亚洲日本网站| 中文字幕亚洲欧美在线| 亚洲一区二区三区777| 欧美在线视频观看| 国产精品久久久久7777婷婷| 久热精品视频在线免费观看| 911国产网站尤物在线观看| 亚洲爱爱爱爱爱| 亚洲第五色综合网| 51色欧美片视频在线观看| 久久久久久久影院| 国产精品久久久久久av福利| 亚洲欧美在线磁力| 国产精品第二页| 久久视频国产精品免费视频在线| 午夜精品免费视频| 91成人在线观看国产| 综合国产在线观看| 国产色婷婷国产综合在线理论片a| 国产精品老女人精品视频| 欧美激情视频在线| 成人黄色生活片| 国产精品r级在线| 午夜精品一区二区三区在线| 一区二区在线免费视频| 精品国模在线视频| 欧美日本精品在线| 国产精品自拍视频| 成人乱色短篇合集| 亚洲free性xxxx护士hd| 国产精品ⅴa在线观看h| 国产精品日韩专区| 欧美日韩第一视频| 丰满岳妇乱一区二区三区| 成人国产精品av| 国产精品国内视频| 国产精品永久免费观看| 日韩电影网在线| 国产成人精品综合| 精品久久久久久久久久久| 国产精品自拍网| 疯狂做受xxxx高潮欧美日本| 欧美色道久久88综合亚洲精品| 成人亚洲欧美一区二区三区| 一区二区三区高清国产| 成人黄色免费网站在线观看| 亚洲精品美女在线观看播放| 亚洲大胆人体在线| 国产自产女人91一区在线观看| 欧美在线欧美在线| 欧美精品在线观看| 在线观看精品国产视频| 欧美激情xxxx| 成人a在线视频| 国产91精品不卡视频| 91av在线播放视频| 亚洲国产成人精品电影| 久久久电影免费观看完整版| 91精品国产91久久久久久久久| 日韩性生活视频| 亚洲国产欧美一区二区三区久久| 中文国产成人精品久久一| 日韩成人高清在线| 97在线看免费观看视频在线观看| 欧美电影免费观看网站| 亚洲天堂久久av| 超薄丝袜一区二区| 亚洲精选一区二区| 欧美区二区三区| 国产噜噜噜噜噜久久久久久久久| 4438全国亚洲精品在线观看视频| 亚洲精品国产精品乱码不99按摩| 最近2019中文免费高清视频观看www99| 狠狠久久亚洲欧美专区| 国产精品第一区| 高跟丝袜欧美一区| 欧美丝袜第一区| 日本一区二区三区四区视频| 亚洲最大福利视频网站| 日韩成人在线免费观看| 日韩免费av一区二区| 中文字幕少妇一区二区三区| 日韩小视频在线观看| 日韩a**站在线观看| 精品网站999www| 91精品国产精品| 91精品视频免费观看| 国产成人精品久久久| 日韩在线中文视频| 精品人伦一区二区三区蜜桃网站| 久久精品99久久久香蕉| 欧美日韩国产丝袜另类| 一区二区三区精品99久久| 奇米影视亚洲狠狠色| 精品网站999www| 成人羞羞国产免费| 国产91ⅴ在线精品免费观看| 法国裸体一区二区| 日韩高清不卡av| 国产精品久久久久秋霞鲁丝| 欧美夫妻性视频| 欧美老女人xx|