Swift基础之音乐播放随机变换着色板
来源:互联网 发布:gui开发工具 windows 编辑:程序博客网 时间:2024/05/17 06:54
今天的内容比较简单,我也就不做详细的文字介绍了,直接上代码,希望对大家有所帮助
var audioPlayer = AVAudioPlayer()
//梯度配色
let gradientLayer = CAGradientLayer()
var timer:Timer?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let redValue = CGFloat(drand48())
let blueValue = CGFloat(drand48())
let greenValue = CGFloat(drand48())
self.view.backgroundColor = UIColor(red: redValue, green: greenValue, blue: blueValue, alpha: 1.0)
//graditent color,梯度颜色
gradientLayer.frame = view.bounds
let color1 = UIColor(white: 0.5, alpha: 0.2).cgColor
let color2 = UIColor(red: 1.0, green: 0, blue: 0, alpha: 0.4).cgColor
let color3 = UIColor(red: 0, green: 1, blue: 0, alpha: 0.3).cgColor
let color4 = UIColor(red: 0, green: 0, blue: 1, alpha: 0.3).cgColor
let color5 = UIColor(white: 0.4, alpha: 0.2).cgColor
gradientLayer.colors = [color1, color2, color3, color4, color5]
gradientLayer.locations = [0.10, 0.30, 0.50, 0.70, 0.90]
gradientLayer.startPoint = CGPoint.init(x: 0, y: 0)
gradientLayer.endPoint = CGPoint.init(x: 1, y: 1)
self.view.layer.addSublayer(gradientLayer)
let playBtn = UIButton.init(frame: CGRect.init(x: (UIScreen.main.bounds.size.width-100)/2, y: (UIScreen.main.bounds.size.height-100)/2, width: 100, height: 100))
playBtn.setBackgroundImage(UIImage.init(named: "music play"), for: .normal)
playBtn.layer.cornerRadius = 50
playBtn.layer.borderWidth = 1
playBtn.layer.borderColor = UIColor.lightGray.cgColor
playBtn.addTarget(self, action: #selector(playBtnClick), for: .touchUpInside)
self.view.addSubview(playBtn)
}
//MARK:-------按钮点击
func playBtnClick(btn:UIButton) {
//play bg music
let bgMusic = NSURL(fileURLWithPath: Bundle.main.path(forResource: "Ecstasy", ofType: "mp3")!)
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
try audioPlayer = AVAudioPlayer(contentsOf: bgMusic as URL)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
catch let audioError as NSError {
print(audioError)
}
if (timer == nil) {
timer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(ViewController.randomColor), userInfo: nil, repeats: true)
}
}
//定时器方法
func randomColor() {
let redValue = CGFloat(drand48())
let blueValue = CGFloat(drand48())
let greenValue = CGFloat(drand48())
self.view.backgroundColor = UIColor(red: redValue, green: greenValue, blue: blueValue, alpha: 1.0)
}
效果图:(源码下载:https://github.com/hbblzjy/SwiftRandomColorizationDemo)
- Swift基础之音乐播放随机变换着色板
- 音乐随机播放算法
- 音乐随机播放算法
- 音乐的随机播放
- 音乐随机播放算法
- 音乐播放随机算法
- 音乐随机播放算法
- 音乐随机播放算法
- Android基础之本地音乐后台播放
- 随机播放音乐的代码
- 随机音乐播放的算法
- [C#] 屏幕保护程序 - 随机变换图像、音乐
- Android开发之基础---------多媒体音乐和视频播放
- cocos2dx之播放音乐
- iOS 之音乐播放
- Server之播放音乐
- 多媒体之播放音乐
- 多媒体之播放音乐
- python学习笔记
- SEAndroid安全机制中的进程安全上下文的关联分析
- 响应式布局
- XRecyclerView实现原理
- wamp服务器的配置和angularjs中get…
- Swift基础之音乐播放随机变换着色板
- css3中的弹性盒与怪异盒
- iOS关于时间的处理
- eclipse Neon.1a Release (4.6.1) 配置PyDev
- hadoop 架构与基础
- 测试【Machine Learning week6】Machine Learning System Design
- 第十六周项目1-(7)验证算法归并排序
- caffe学习笔记3:使用caffe对自己的图像数据进行训练和测试
- Android 7.0 SystemUI(1)--启动过程