从任何音乐文件 ios 生成波形

2024-01-05

我正在寻找如何根据音乐绘制声波。

我想要像这样的图片的波浪

这是一些关于显示音乐中的波浪的讨论

  1. iOS 上的波形 https://stackoverflow.com/questions/8298610/waveform-on-ios
  2. 在 iPhone 上渲染波形 https://stackoverflow.com/questions/896194/rendering-a-waveform-on-an-iphone
  3. 使用 iPhone 进行音频波形可视化 https://stackoverflow.com/questions/4548951/audio-waveform-visualisation-with-iphone

Github 示例链接

  • https://github.com/gyetvan-andras/cocoa-waveform https://github.com/gyetvan-andras/cocoa-waveform
  • https://github.com/benalavi/waveform https://github.com/benalavi/waveform
  • https://github.com/JingWZ/WaveView https://github.com/JingWZ/WaveView
  • https://github.com/gyetvan-andras/cocoa-waveform https://github.com/gyetvan-andras/cocoa-waveform
  • https://github.com/ioslovers/ATTabandHoldAudioRecord https://github.com/ioslovers/ATTabandHoldAudioRecord
  • https://github.com/hezone/ECGWavesPlayer https://github.com/hezone/ECGWavesPlayer
  • https://github.com/iluvcapra/JHWaveform https://github.com/iluvcapra/JHWaveform

但不知道这种类型的波形,是否可以画出像这样的波形?


免责声明:其中很多内容都是通过反复试验发现的,我在这里可能有一些严重的错误假设:

您需要使用 AudioUnits 框架。初始化播放时,您可以创建一个 AURenderCallbackStruct。您可以在此结构中指定一个播放回调函数,该函数为您提供一些参数,其中包含您需要的信息。

回调函数将具有如下签名:

static OSStatus recordingCallback (void *inRefCon,
                                   AudioUnitRenderActionFlags *ioActionFlags,
                                   const AudioTimeStamp *inTimeStamp,
                                   UInt32 inBusNumber,
                                   UInt32 inNumberFrames,
                                   AudioBufferList *ioData) 

这里有一个音频数据数组,可用于获取每个频率仓的音频缓冲区的幅度,或用于计算频率仓的 DB 值。

我不知道该图显示什么,但在我看来,它就像每个样本箱幅度的平滑显示。

音频单元并不简单,但值得尝试一段时间,直到您掌握为止。

这是我的回调函数的框架,以便您更好地理解我的意思:

编辑:删除了死链接,抱歉我丢失了此代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从任何音乐文件 ios 生成波形 的相关文章

  • 奇怪的父/子NSManagedObjectContext现象

    我创建了两个这样的上下文 create writer MOC privateWriterContext NSManagedObjectContext alloc initWithConcurrencyType NSPrivateQueueC
  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • NSOperation 中委托的使用

    我正在尝试利用CLLocationManager in an NSOperation 作为其中的一部分 我需要能够startUpdatingLocation然后等到收到 CLLocation 后才完成操作 目前我已经完成了以下操作 但是委托
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 无法添加钥匙串项目。使用 KeychainItemWrapper 更改标识符后出现错误 - 25299?

    我想用 KeychainItemWrapper 将 UUID 保存在钥匙串中 所以我在中添加以下方法MyKeychainManager m define keychain idenentify com myapp bundle1 void
  • CMSampleBufferSetDataBufferFromAudioBufferList 返回错误 12731

    我正在尝试捕获应用程序声音并将其传递给 AVAssetWriter 作为输入 我正在设置音频单元的回调以获取 AudioBufferList 问题始于将 AudioBufferList 转换为 CMSampleBufferRef 它总是返回
  • malloc:***错误:已释放对象的校验和不正确 - 对象可能在释放后被修改

    我的 iOS 应用程序有一个大问题 它有时会崩溃 而没有详细的调试错误 堆栈跟踪为空 这是堆栈跟踪中仅有的两行 UIApplicationMain 中的 符号存根 UIHostedTextServiceSession DismissText
  • 使用 UIKeyCommand 检测删除键

    任何人都知道如何使用检测 删除 键UIKeyCommand在 iOS 7 上 当人们在使用 Swift 时遇到问题时 我认为用 Objective C 和 Swift 编写一个小型的 完整的例子可能是一个很好的答案 请注意 Swift 没有
  • iOS 11 浮动 TableView 标题

    有一个应用程序包含多个部分 展开 时每个部分有几行 折叠 时没有 每个部分都有一个部分标题 使用以下子类重用它们UITableViewHeaderFooterView等等 到目前为止一切顺利 然后在 iOS 11 中 我使用了可视化调试器
  • 除非在后台线程中获取新的引用,否则存在潜在的引用计数问题

    我有一个second https stackoverflow com questions 28898966 prefer property accessor or kvc style for accessing core data prop
  • 应用程序更新时的 iPhone 数据迁移

    我正在开发一个 iPhone 应用程序 它使用 sqlite 来存储应用程序和用户数据 这是该应用程序的第一个版本 我想知道我需要做什么来为该应用程序的未来版本做准备 这够了吗 1 确保 XCode 项目设置中的应用程序版本正确 2 在sq
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • 核心数据:为什么必须调用重新加载数据才能使我的应用程序运行?

    我花了整个晚上调试一个简单的应用程序 该应用程序从网络检索一张图像 是的 是的 旨在让我的生活更轻松 并将其显示在表格视图中 我这样做是为了练习学习核心数据 在我修复它之前 错误消息显示如下 2012 09 30 06 16 12 854
  • 你如何在react-native中实现捏合缩放?

    我一直在研究 PanResponder 我当前的工作假设是 我将检测是否有两个触摸正在向外移动 如果是 则增加元素大小onPanResponderMove功能 这似乎是一种混乱的方法 有没有更顺畅的方法呢 如果您只需要简单的捏缩放功能 只需
  • 如何从 Firebase 同步检索数据?

    我有两个集合 即用户和问题 根据使用 userId 登录的用户 我检索currQuestion价值来自users收藏 基于currQuestion值 我需要检索question来自 Firebase 的文档Questions收藏 我使用下面
  • 如何在 Swift 中创建 UIAlertView?

    我一直在努力在 Swift 中创建 UIAlertView 但由于某种原因我无法得到正确的语句 因为我收到此错误 找不到接受提供的 init 重载 论点 我是这样写的 let button2Alert UIAlertView UIAlert
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • 由于 2.23 导致 iOS 应用程序被拒绝 - iOS 数据存储指南

    以下是 Apple 关于拒绝的消息 2 23 应用程序必须遵循 iOS 数据存储指南 否则将被拒绝 2 23 详情 在启动和内容下载时 您的应用程序会存储 6 5 MB 这并不意味着 遵守 iOS 数据存储指南 下一步 请验证只有用户使用您
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • iPhone 3GS 上的 ARM 与 Thumb 性能比较,非浮点代码

    我想知道是否有人有关于 iPhone 3GS 上 ARM 与 Thumb 代码性能的硬性数据 特别是对于非浮点 VFP 或 NEON 代码 我知道 Thumb 模式下的浮点性能问题 更大的 ARM 指令的额外代码大小是否会在某个时刻成为性能

随机推荐

  • MVC:数据模型和视图模型

    我过去读过一些关于模型的 MVC 建议 指出不应为域和视图重用相同的模型对象 但一直找不到愿意讨论的人why这不好 我认为 创建两个单独的模型 一个用于域 一个用于视图 然后在它们之间进行映射会产生大量重复 加上繁琐的映射代码 其中一些可以
  • Web 开发中处理多屏幕分辨率和宽高比的策略

    过去 设计时的屏幕分辨率是 800 x 600 也许是 640 x 480 然后出现了 1024 x 768 等等 但情况变得更糟 现在我们不仅有不同的分辨率 而且还有不同的宽高比 人们使用什么策略来适应当今不断扩大的屏幕尺寸和宽高比范围
  • 使用Python将括号内的数字(字符串)转换为负整数(或浮点数)?

    在Python中 将括号内的数字 字符串 转换为负整数 或浮点数 的最简单方法是什么 例如 4 301 到 4301 这是会计应用程序中常见的情况 最简单的方法是 my str 4 301 num int my str translate
  • 如何对 YAML 文件进行排序?

    我一直在尝试使用 Ruby 对 i18n 翻译 YAML 文件进行排序 这样我就可以以更好 更有组织的方式管理新翻译 但我一直想知道是否有什么东西可以简化这项任务 我找到了一个 YAML 文件编写器 这样我就可以将哈希值写入文件中 但我的问
  • 有谁知道 docker 中无新权限阻止 selinux 转换的解决方法?

    我正在尝试在 docker 下运行 任何 容器 并启用 no new privileges 标志并启用 Selinux 基本信息 CentOS 7 3 on bare metal docker ce 17 05 0 ce edge from
  • 在多处理中 sys.exit 后取消加入

    在 OSX 上 我使用 multiprocessing Process 创建进程树 当我向父进程发送信号时 该进程进入连接状态 INFO MainProcess process shutting down INFO MainProcess
  • 如何在没有 row.names / 行号的情况下打印 tibble

    Tibbles 打印时使用行号作为行名称 看1 2在下面的左边距中 tibble as tibble mtcars A tibble 32 x 11 mpg cyl disp hp drat wt qsec vs am gear carb
  • 在 Java 中编译循环

    正如我所看到的JVM规范 http docs oracle com javase specs jvms se7 html jvms 3 html jvms 3 2这段代码 void spin int i for i 0 i lt 100 i
  • 创建列并在同一事务中插入到其中?

    是否可以在同一事务期间创建列并向其中插入值 这是升级脚本的一部分 我找到了以下方法online http www mssqltips com sqlservertip 1467 populate a sql server column wi
  • 使用 R 中的plotly包再现等值区域图

    library plotly df lt read csv https raw githubusercontent com plotly datasets master 2011 us ag exports csv df hover lt
  • 如何使用 VB.NET 在 ASP.NET MVC 中添加 id HTML 属性

    我正在尝试使用 ASP NET MVC 和 VB NET 将 ID HTML 属性添加到表单 这给了我一个类型错误 因为 id 需要一个整数 而不是字符串 如何向我的表单添加 ID 属性 我相信你需要这样的东西 我认为它试图将您的空字符串之
  • 选择聚合函数和所有其他列

    如何方便地选择表中的所有列和聚合函数 IE 假设我有一个包含 100 列的表 我想发送以下内容 SELECT Max Columns 44 ALL OTHER COLUMNS FROM zz Group by ALL OTHER COLUM
  • 如何限制appendonly.aof redis文件的大小

    如何限制appendonly aof文件 我的附加文件增长到 92g 它用于堆栈 gitlab 因此对于会话 这里是信息和 auto aof rewrite 127 0 0 1 6379 gt info Server redis versi
  • 具有不同签名的控制器操作方法

    我正在尝试获取我的网址files id格式 我猜我的控制器中应该有两种 Index 方法 一种带有参数 另一种不带参数 但我在下面的浏览器中收到此错误消息 无论如何 这是我的控制器方法 public ActionResult Index r
  • 片段动画:setCustomAnimations 和 setTransitionStyle 之间的区别

    我想对两个片段之间的过渡进行动画处理 这要归功于FragmentTransaction replace 我想在 XML 文件中指定我的自定义动画 调用有什么区别FragmentTransaction setCustomAnimations
  • 多表单验证codeigniter冲突[重复]

    这个问题在这里已经有答案了 可能的重复 Codeigniter 2个表单在一页上 validation errors问题 https stackoverflow com questions 5802729 codeigniter 2 for
  • 一张有 100 列的大表与许多小表

    我创建了一些网站 其中包含用户 评论 视频 照片 消息等 所有数据都在一张包含 100 列的表中 我认为一张表比多张表更好 因为用户只需要连接一张表 但我听说有些程序员不喜欢这种方法 有人能告诉我哪一个更好吗 一张非常大的表或很多小表 为什
  • 右值参考还是左值?

    我有一个类似性质的问题 就像 5 年前发布的问题一样 为什么右值引用变量不是右值 https stackoverflow com questions 32620750 why are rvalues references variables
  • 如何在Repeater中获取文字内容值

    我有一个中继器 如下所示 如何在代码隐藏中获取报告ID 从hiddenContent2内的表达式 表达式为 注意 我更喜欢一种方法not使用 查找控件 ASP NET
  • 从任何音乐文件 ios 生成波形

    我正在寻找如何根据音乐绘制声波 我想要像这样的图片的波浪 这是一些关于显示音乐中的波浪的讨论 iOS 上的波形 https stackoverflow com questions 8298610 waveform on ios 在 iPho