如何构建 iOS7 风格的录音机应用程序

Posted

技术标签:

【中文标题】如何构建 iOS7 风格的录音机应用程序【英文标题】:How to build iOS7 Style Audio Recorder App 【发布时间】:2013-10-26 21:45:12 【问题描述】:

我正在尝试构建一个类似于内置 ios7 的录音机应用程序,并寻找有关用于录音应用程序的控件的指导。我知道我将使用一个表格视图来显示以前的录音列表,并使用一个 UIView 来显示顶部录音视图,并在点击记录时调整表格视图并向下移动黑色录音视图。

我应该如何实现无限的水平滚动视图?我是否应该使用集合视图并随着时间的增加继续向模型数组添加元素。还有我应该用什么来做计时器。是否有类似 javascript 中的目标 C 的 setInterval 之类的东西,我可以使用它来定期更新 UI?

如果有人也知道可可豆荚或示例代码,将不胜感激。

【问题讨论】:

寂静震耳欲聋 我也很感兴趣,但这是一个很大的模棱两可的问题。我会在这个问题上开始赏金 【参考方案1】:

用于录制最简单的录音机是 AVAudioRecorder。这是一个录音应用程序的简单实现:https://github.com/calmez/Recorder。 AVAudioRecorder 具有简单的计量方法,您可以在其中读取通道的音量输出

不过,老实说,Apple 可能会使用 CoreAudio 来获取音频,因为它更加优化。 Novocaine 是一个很好的核心音频引擎,可以帮助您入门https://github.com/alexbw/novocaine

为了渲染波形,我猜苹果可能会使用 OpenGL。否则,我看不出如何轻松有效地做到这一点。您可以像这个项目一样使用 UIView 的标准绘图 API 来绘制它们 (https://github.com/fulldecent/FDWaveformView),但我认为这个动画效果不佳。

对于计时器,有 NSTimer

【讨论】:

以上是关于如何构建 iOS7 风格的录音机应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 xcode 5 (iOS 7 sdk) 构建 iOS 7 UI

我应该如何在 iOS 7 中使用具有 iOS 6 风格的 UIButtons?

iOS 6 应用程序在 iOS 7 风格上运行

如何构建REST风格的WEB地图服务

如何在heroku服务器上安装red5

如何让 serverCallId 在 MS Teams 中启动通话录音?