问题标签 [ezaudio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何使用 lame lib iOS 将音频浮点数组转换为 mp3 缓冲区?
我正在使用 EZAudio Lib 在播放时获取音频数据。现在我想将此数据广播为 mp3 缓冲区。我正在使用 lame lib 对数据进行编码并进行广播。但我无法正确转换它。
从 EZAudio lib 函数下方获取音频浮动缓冲区
获得缓冲区后,使用下面的函数转换为 AudioBufferList
当我得到 AudioBufferList 并传递给下面的函数进行编码时
我想将playAudio(缓冲区)转换为编码数据(使用跛脚),以便我可以发送到服务器。
请帮帮我。
ios - EZRecorder 在 iPhone X 上调用 ExtAudioFileWrite 时崩溃
我有一个示例应用程序,它使用 AudioKit 来录制音频并显示该音频数据的波形。这个示例应用程序有两个视图控制器,根 vc 是一个空白页面,带有一个按钮,可以将用户带到录音页面。
出于某种原因,仅在 iPhone X (iOS 11.4.1) 上,在录制音频时,如果我点击导航栏(左上角)上的后退按钮,然后尝试再次录制,应用程序将崩溃。
具体来说,当记录器的方法appendDataFromBufferList: withBufferSize:
调用ExtAudioFileWrite(self.info->extAudioFileRef, bufferSize, bufferList)
. 控制台中打印的错误消息是:
testAudioCrash(1312,0x16e203000) malloc: * **对象 0x109803a00 的错误:已释放对象的校验和不正确 - 对象可能在被释放后被修改。 * **在 malloc_error_break 中设置断点进行调试
我已经完成了僵尸分析、泄漏分析、逻辑和堆栈,但我似乎无法弄清楚为什么会发生这种情况。
下面我提供了测试应用程序的代码以及堆栈和控制台输出的屏幕截图。任何有助于弄清楚为什么会崩溃的帮助将不胜感激。不幸的是,这次崩溃也不是 100% 可重现的,这让我觉得有点模糊。
下面代码的注释:.h 文件中没有自定义代码,所以我没有提供。每个视图控制器都有用于此的 UI 组件的 xib 文件。它们非常简单,因此我也没有提供有关这些的信息,尽管我在提供任何人要求的有关它们的任何信息方面都没有问题。如果有人觉得有必要,我也可以压缩项目并分享。
复制步骤:1)启动应用程序 2)点击录制音频按钮 3)点击录制按钮 4)点击导航栏上的返回按钮
5) 重复步骤 2-4 直到发生崩溃
AppDelegate.m 代码:
testViewController.m 代码:
testSecondViewController.m 代码:
ios - AudioKit 使用 AKAudioFile 缓冲区更新绘图并显示完整波形
我有一个情节
我想通过从 AKAudioFile 复制的缓冲区更新它:
这个说:pcmBuffer:265:error cannot readIntBuffer
我尝试了另一种方法,首先将缓冲区转换为 EZAudioFloatData 但我无法正确进行类型转换:
检查员说:无法转换类型“UnsafePointer < UnsafeMutablePointer < Float >> ?”的值 到预期的参数类型 'UnsafeMutablePointer < UnsafeMutablePointer < Float > ?> !
我究竟做错了什么?顺便说一句:我知道我可以使用 EZAudioFile() 加载一个 wav 文件,然后使用 .getWaveformData() 获取缓冲区,但出于几个原因,我想知道是否有办法使用 AKAudioFile 来做同样的事情。
- -更新:
我能够将波形功能直接添加到 AKWaveTableDSPKernel.hpp:文件:
它只需要通用的标头绑定。我将尽快尝试使用此功能进行拉取请求。
ios - 一旦记录器使用 AudioKit 在 Swift 中完成记录,如何实现侦听器或 while(true) 以停止滚动波形图
我有一个系统,它使用 AudioKit 中的各种类来记录麦克风输入并将其保存到文件中,最长持续时间为 30 秒,同时在记录期间,使用 EZAudioPlot 将输出波形绘制到波形图上。
我的问题是我正在使用 Snapchat 风格的录制按钮,该按钮开始录制/绘制触摸事件并停止录制/绘制触摸(内部和外部)事件 - 这意味着当用户继续按住录制按钮时超过最大持续时间(有时会这样做),尽管录音机已完成,但麦克风输出的波形仍会继续绘制。我在问 Swift/AudioKit 中是否有办法不断“听”录音机停止录音,类似于
在按下按钮之后但在释放之前?如果有某种方法可以无限期地听录音机在按下按钮和释放按钮之间完成录音,这将很容易解决我的问题。这样的功能在 Swift 或 AudioKit 中是否以某种形式存在?
我的代码如下(无关代码省略):
ios - iOS:是否可以同时从多个麦克风录制
所有最近的 iPhone 都有 2 个以上的麦克风。是否可以同时从所有麦克风录制?如果可能的话,最好的 iOS 音频库是什么(AudioKit、EzAudio、AudioUnits、CoreAudio)?AudioKit 和 EzAudio 中没有提到这个功能。