ios - 如何从 AVPlayerItem 创建波浪可视化工具? (iOS)

标签 ios swift audio buffer

我一直在用这个https://github.com/teodorpatras/Jukebox库来帮助从 URL 播放音频,但我在尝试创建像这样的 wave 可视化工具时遇到了问题 https://github.com/ApplikeySolutions/PandoraPlayer但它只允许从音乐库中播放。在 Pandora Player 中有开源波浪可视化工具 https://github.com/ApplikeySolutions/PandoraPlayer/issues/3但它需要像这样转换成某种缓冲区

public func audioPlayer(_ audioPlayer: EZAudioPlayer!, playedAudio buffer: UnsafeMutablePointer<UnsafeMutablePointer<Float>?>!, withBufferSize bufferSize: UInt32, withNumberOfChannels numberOfChannels: UInt32, in audioFile: EZAudioFile!) {

    DispatchQueue.main.async {[weak self] in
        self?.updatePlaybackStatus()
    }
    self.waveVisualizer?.updateWaveWithBuffer(buffer, withBufferSize: bufferSize, withNumberOfChannels: numberOfChannels)
}

最佳答案

引用这个https://github.com/alankarmisra/SwiftSiriWaveformView这将帮助您创建波形。

@IBOutlet weak var audioView: SwiftSiriWaveformView!

你可以用

audioView.amplitude = 1.0

安装(CocoaPods):

SwiftSiriWaveformView is available through CocoaPods. To install it, simply add the following lines to your Podfile:

For Cocoapods >= 1.0 use_frameworks! target "YOUR_PROJECT_NAME" do pod "SwiftSiriWaveformView" end For Cocoapods < 1.0 use_frameworks! pod "SwiftSiriWaveformView"

关于ios - 如何从 AVPlayerItem 创建波浪可视化工具? (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50369179/

相关文章:

swift - Sprite Kit 游戏在 tvOS 9.1 和 iOS 9.2 上的游戏结束时崩溃

ios - 返回的对象类型与函数体 swift objc 中的对象类型不同

c# - 如何使用ASP.NET和C#将录音上传到Sound Cloud?

ios - 使用现有用户访问 token 使用 Spring Social 登录 Facebook

ios - 从另一个不是 View 的类向主场景添加一个 SKSpriteNode

ios - UITableViewCell 内部的程序化自动布局更改仅在方向更改后更新

unity3d - Oculus Go和Unity:麦克风实时播放

通话时 iOS 状态栏高度不正确

swift - 在 SPM 项目中使用 vDSP_normalizeD 时出现 nil 编译器错误

ios - 如何在iOS中为缓冲区分配内存