使用声音捕捉Swift放大/缩小UIImage

时间:2018-04-30 15:50:16

标签: ios swift animation button audio

你知道一个库/技巧,可以让我根据声音创建我的按钮动画(圆形圆圈)吗?

我有一个音乐应用程序,我的录音按钮是圆形的,我希望它根据歌曲的强度放大或缩小。

让我们说它看起来有点像没有波浪的Shazam按钮。

感谢您的帮助,

1 个答案:

答案 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中可能有一些方法可以为您处理这类事情。