从任何音乐文件 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 生成波形 的相关文章

  • iOS - 如何在 swift 中使用 `NSMutableString`

    我已经看过这段 Objective C 代码 但我很难在 swift 中做同样的事情 NSMutableAttributedString res self richTextEditor attributedText mutableCopy
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • iOS、通用链接、Swift。 continueUserActivity 未调用

    我正在为我们的 iOS 应用程序实现通用链接 这是我的一小部分 AppDelegate private func application application UIApplication openURL url URL sourceApp
  • iPhone 上的双精度与浮动

    我刚刚听说 iPhone 本身无法进行双倍操作 从而使它们比常规浮动慢得多 这是真的 证据 我对这个问题很感兴趣 因为我的程序需要高精度计算 而且我将不得不在速度上妥协 iPhone 可以在硬件中执行单精度和双精度算术 在 1176 原始
  • 将图像保存在相机胶卷中并获取资源 URL

    对于我正在开发的应用程序 我使用 UIImagePickerController 拍摄照片并将其存储在相机胶卷中 void imagePickerController UIImagePickerController picker didFi
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • 如何使用 iPhone 将照片上传到服务器?

    我正在编写一个 iPhone 应用程序 它可以拍摄照片然后将其上传到服务器 如何使用 Cocoa 将照片上传到服务器 我想我在某处使用 NSUrl Thanks Header interface EPUploader NSObject NS
  • 直接在 XCode 中编译 Arm Assembly

    将arm汇编代码编译成xcode的最佳方法是什么 我有生成的那些程序集文件 有没有办法可以将 s 文件直接包含到我拥有的 C 代码中 或者我需要先运行一个预处理器 它将生成 o 文件 我可以将其与我的文件链接 如果是这样的话 在 XCode
  • UITableViewCell显示多种字体

    我想在 uitableviewcell 中以类似于 iPhone 地址簿的不同字体显示两个单词 例如 约翰Buchanan 您应该使用两个 UILable 或者您可以使用OH属性标签 https github com AliSoftware
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • TableViewController 的 viewDidLoad 未触发

    我一直在关注这个tutorial http www appcoda com ios programming sidebar navigation menu 有一个滑出式菜单 我添加了一个 TableViewController 它将显示文章
  • 如何在 UIScrollView 中启用缩放

    如何启用缩放功能UIScrollView 答案是here https developer apple com documentation uikit uiscrollview 滚动视图还可以处理内容的缩放和平移 当用户做出捏合或张开手势时
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • 从应用程序启动 iPhone 设置屏幕?

    我正在开发一个应用程序 我希望按下按钮时 iPhone 设置屏幕应该打开 苹果有访问限制吗 到底能不能 如果能的话怎么办 不 你不能那样做 但是 作为替代方案 您可以使用这个框架 http www inappsettingskit com
  • 更改 iOS7 中 UIAlertView 的字体大小

    我想更改alertView中消息文本和标题文本的字体大小 苹果网站上没有任何文档谈到这一点 但苹果在其子类注释中表示 UIAlertView 类旨在按原样使用 请参考以下链接 https developer apple com librar
  • ios - 如何声明静态变量? [复制]

    这个问题在这里已经有答案了 C 中声明的静态变量如下 private const string Host http 80dfgf7c22634nbbfb82339d46 cloudapp net private const string S

随机推荐

  • 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