你知道一个库/技巧,可以让我根据声音创建我的按钮动画(圆形圆圈)吗?
我有一个音乐应用程序,我的录音按钮是圆形的,我希望它根据歌曲的强度放大或缩小。
让我们说它看起来有点像没有波浪的Shazam按钮。
感谢您的帮助,
答案 0 :(得分:0)
你会想做这样的事情:
func animateRecordButton() {
if let button = self.recordButton {
UIView.animate(withDuration: 0.2, delay: 0, options: [.allowUserInteraction], animations: {
if self.scaledDown {
button.transform = CGAffineTransform.identity
} else {
button.transform = CGAffineTransform(scaleX: self.amplitude, y: self.amplitude)
}
}, completion: { (done) in
self.scaledDown = !self.scaledDown
if !self.recordingStopped {
//Generate new x and y value from the audio waveform's amplitude.
//You'll need to make sure that it makes sense for your animation.
self.amplitude = getAmplitudeValueFromWaveform()
self.animateRecordButton()
} else {
if let button = recordButton {
button.transform = CGAffineTransform.identity
}
}
})
}
}
我确定有关于音频SDK的其他方法,但我还没有使用它。音频SDK中可能有一些方法可以为您处理这类事情。