IOS 应用程序中的音频可视化是一项流行的功能,在实现聊天功能时可能需要它。将它添加到我最近的项目之一时,我个人遇到了一些问题。
你们中的一些人可能在开发包含聊天功能的应用程序时遇到过问题,其中某些消息可能包含音频。这些消息需要在应用程序内进行适当的音频可视化,并具有适当的语音强度和播放和暂停音频的功能。这不是一项微不足道的任务,需要一些工作才能完成。
今天我想分享一种可视化音频的方法
实施
让我们立即跳转到实施。
首先,我们需要创建一个演示项目并快速进入实施。
我们的音频文件需要一个模型,该模型将具有我们希望它呈现的大小和颜色(稍后我将解释为什么需要颜色)。
我们将模型称为“AudioPreviewModel”:
import Foundation
import SwiftUI
struct AudioPreviewModel : Hashable {
var magnitude: Float
var color: Color
}
要显示音轨,我们首先需要将音轨分成几个部分,并确定每个部分的大小以便能够适当地显示它(大小将是每个棒的高度)。另一方面,宽度可以通过将屏幕宽度除以一个数字(如 0.6 / 4)来计算:
UIScreen .main.bounds.width * 0.6 / 4
但首先,让我们为数组分块创建一个扩展
extension Array {