ios - 创建 Waves 可视化视频 Swift
问题描述
这是我正在尝试做的事情:
截图取自 6s iPhone。
我一直在努力创建视频波形,我想绘制一个看起来像第一个屏幕截图的波形。我正在使用VIWaveformView Github pod 来绘制波浪。但我很困惑如何绘制相同的波浪。
代码:
@IBOutlet weak var vWmainWave: VIWaveformView!
override func viewDidLoad() {
super.viewDidLoad()
vWmainWave.waveformNodeViewProvider = BasicWaveFormNodeProvider(generator: { () -> NodePresentation in
let view = VIWaveformNodeView()
view.waveformLayer.strokeColor = UIColor(red:0.86, green:0.35, blue:0.62, alpha:1.00).cgColor
return view
}())
vWmainWave.layoutIfNeeded()
if let url = Bundle.main.url(forResource: "bulletTrain", withExtension: "mp4") {
let asset = AVAsset.init(url: url)
_ = vWmainWave.loadVoice(from: asset, completion: { (asset) in
})
}
}
问题:如何显示与原始图像相同的波浪(第一张截图)?
有人可以向我解释如何绘制相同的,我已经尝试绘制这些波浪但还没有结果。
任何帮助将不胜感激。
提前致谢。
解决方案
你可以检查这部分
var waveformView: VIWaveformView!
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor(red:0.10, green:0.14, blue:0.29, alpha:1.00)
setupWaveformView()
view.addSubview(waveformView)
waveformView.translatesAutoresizingMaskIntoConstraints = false
waveformView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 15).isActive = true
waveformView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -15).isActive = true
waveformView.topAnchor.constraint(equalTo: view.topAnchor, constant: 65).isActive = true
waveformView.heightAnchor.constraint(equalToConstant: 80).isActive = true
waveformView.layoutIfNeeded()
if let url = Bundle.main.url(forResource: "Moon River", withExtension: "mp3") {
let asset = AVAsset.init(url: url)
_ = waveformView.loadVoice(from: asset, completion: { (asset) in
})
}
}
https://github.com/VideoFlint/VIWaveformView/blob/master/VIWaveformView/ViewController.swift
推荐阅读
- javascript - Angular中的动态formControlName
- healpy - 使用 pip 安装 healpy 时出错。我有 Python 3.9.7
- r - R中带有1个参数的Excel求解器
- mysql - 使用 SQL 脚本从几个表中复制数据
- wordpress - 如何从 WordPress 中的 JOIN LIFRESHLIFE FAMILY NOW 按钮切换选择语言小部件?
- vba - OnSlideShowPageChange 不推进幻灯片
- security - 勒索软件与加密恶意软件
- tensorflow - Efficientnet B1 - PruneForLatencyOnXNNPack 上出现 2x2 步幅错误的 Conv2D 错误
- javascript - 使用 Sequelize 验证非数据库对象的坏主意?
- php - Symfony 5 使用验证来验证新实体