10得票1回答
构建一个简单的均衡器

我想使用AVAudioEngine做一个5段音频均衡器(60Hz、230Hz、910Hz、4kHz、14kHz),并且希望用户可以通过垂直滑块输入每个频段的增益,然后相应地调整正在播放的音频。我尝试使用AVAudioUnitEQ来实现,但是在播放音频时听不到任何差异。我尝试硬编码指定每个频率的...

10得票1回答
音频转换器 AVAudioConverter 在将 float32/48khz 转换为 int16/16khz 时出现失败。

这个方法处理来自AVAudioEngine输入节点installTap的回调。我已确认获取到了单声道float32 / 48000hz缓冲数据,并希望将其转换为单声道int16 / 16000hz。 var converter: AVAudioConverter? = nil var con...

9得票1回答
AvaudioEngine - 如何以特定的采样率录制声音以供分析

我们正在开发一个从外部麦克风录制声音的项目。为了分析目的,我们需要大约5k Hz的采样率。 我们使用AvAudioEngine来录制声音。由于我们知道苹果设备无法以特定的速率进行录制,因此我们使用AVAudioConverter降低采样率。 但正如您所知,这类似于压缩,因此我们降低采样率越...

9得票2回答
能否录制从iPhone输出的音频?

我正在开发一款应用程序,允许用户创建某种类型的配音。有一个音频文件正在播放,用户可以在某些时刻轻敲屏幕来插入声音(类似于审查按钮)。我想知道如何捕获最终产品。 直接从iPhone中捕获音频似乎是最简单的方法,因为用户已经听到了制作完成的成品。但是,我找不到如何实现这一点的任何信息。如果不可能...

8得票7回答
AVAudioPlayerNode.scheduleFile()的completionHandler被调用得太早了。

我正在尝试在iOS 8中使用新的AVAudioEngine。 看起来,player.scheduleFile()函数的completionHandler在声音文件播放完成之前被调用。我使用的声音文件长度为5秒,而println()信息大约出现在声音结束前1秒左右。 我是做错了什么还是对co...

8得票1回答
使用AVAudioEngine播放AVAudioPCMBuffer中的音频

我有两个类,分别是MicrophoneHandler和AudioPlayer。我已经成功使用AVCaptureSession来获取麦克风数据,方法在这里可以找到,并使用以下函数将CMSampleBuffer转换为NSData: func sendDataToDelegate(buffer: ...

8得票6回答
在iOS中保存音频后效果

我正在开发一个应用程序,让用户可以通过应用程序录制和修改他们的声音并分享。基本上,我已经完成了很多工作,现在是向您求助的时候了。这是我的播放功能,在播放录制的音频文件时添加音效。 private func playAudio(pitch : Float, rate: Float, rever...

8得票2回答
从AVAudioPCMBuffer中提取声压级

我对信号处理几乎一无所知,目前我正尝试在Swift中实现一个函数,当声压级增加时(例如人类尖叫时)触发事件。 我通过回调来连接AVAudioEngine的输入节点,如下所示: let recordingFormat = inputNode.outputFormat(forBus: 0) i...

8得票1回答
通过多点连通性尝试从麦克风流式传输音频到另一部手机

我正在尝试通过苹果的Multipeer Connectivity框架将麦克风录制的音频流传输到另一台iPhone。为了执行音频捕获和播放,我使用AVAudioEngine(非常感谢Rhythmic Fistman在此处的回答)。 我通过在输入上安装一个tap来接收来自麦克风的数据,从中获取A...

8得票2回答
AVAudioEngine 寻找歌曲的时间

我正在使用AVAudioPlayerNode播放一首歌曲,并尝试使用UISlider控制其时间,但我无法弄清楚如何使用AVAUdioEngine寻找时间。