iOS录制音频并绘制波形,例如语音备忘录

毫不留情

我要问这个问题是因为太模糊或在一个问题中问了太多问题,但是我实际上只是在寻找正确方向的观点。

在我的应用中,我想记录音频,在记录时显示波形,并滚动浏览波形以从指定时间开始记录和播放。例如,如果我有3分钟的音频,我应该能够回滚到2:00并从那里开始录制以解决错误。

在语音备忘录中,这是即时完成的,没有任何延迟或加载时间。如果有人有线索,我想弄清楚该怎么做。

我尝试过的

EZAudio-这个库很棒,但是不能满足我的要求。您无法滚动波形。它在开始时删除波形数据,并在达到一定长度后开始将其附加到末尾。

SCWaveformView-此波形很好,但是它使用图像。一旦波形过长,将其置于滚动视图中将导致真正的抖动滚动。同样,您只能在录制后才能建立波形。

至于附加,我使用了这种方法:https : //stackoverflow.com/a/11520553/1391672但是,即使将两个非常短的音频片段附加在一起(根据我的经验),也需要大量的处理时间。

语音备忘录如何工作?您认为波形是在OpenGL还是CoreGraphics中绘制的?他们使用的是Core Audio还是AVAudioRecorder?有没有人造像这样的东西可以指引我正确的方向?

hotpaw2

放大时,滚动视图仅需要绘制可见波形的一小部分。缩小时,图形视图可能只在音频缓冲区的第N个点绘制一次,或者在渲染之前对数据使用其他一些DSP下采样算法。这很可能必须在UIScrollView或类似的自定义控制器中使用您自己的自定义绘图或图形渲染代码来完成。记录期间和之后的波形渲染代码不必相同。

您使用的录制API和绘图API可以完全独立,并且几乎可以是任何东西,从OpenGL到Metal到Core Graphics(在更新更快的设备上)。在音频方面,Core Audio将帮助提供最低的延迟,但是Audio Queues和AVAudioEngine也可能适用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章