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

Posted

技术标签:

【中文标题】使用声音捕捉 Swift 放大/缩小 UIImage【英文标题】:Enlarge / Shrink UIImage with sound capture Swift 【发布时间】:2018-04-30 15:50:15 【问题描述】:

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

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

假设它看起来有点像没有波浪的 Shazam 按钮。

感谢您的帮助,

【问题讨论】:

【参考方案1】:

你会想做这样的事情:

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

【讨论】:

以上是关于使用声音捕捉 Swift 放大/缩小 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

Swift:检查 UIWebView 是放大还是缩小

捕捉 Mac 触控板缩放

swift3.0 图片放大缩小动画效果

使用 ctrl+鼠标滚轮 flex3 在高级数据网格中放大/缩小

iOS Swift 仿微信朋友圈实现图片点击放大查看

Swift - 滚动时缩小导航栏