草庐IT

AVAudioEngine

全部标签

ios - 应用过滤器(AVAudioUnitEQ)后保存音频文件并最终将其保存为mp3?

这个问题在这里已经有了答案:savetheaudiofileinthebackground(1个回答)关闭6年前。应用过滤器后保存音频文件让我很沮丧。该过滤器仅适用于AVAudioPlayerNode,这意味着在播放器中播放期间,过滤器非常适合应用,但我该如何保存呢?我最近3天很挣扎,请提供任何帮助,我们将不胜感激。这些下面的代码是我使用的,engine=[[AVAudioEnginealloc]init];-(void)setupEQ{NSLog(@"setupEQ");unitEq=[[AVAudioUnitEQalloc]initWithNumberOfBands:12];uni

ios - AVAudioFile init 在模拟器上工作但在设备上崩溃

我想构建一个iOS应用程序(使用Swift3和Xcode8.2.1)从iPhone的麦克风录音并将录音保存到.caf文件。首先,我将以下行添加到我项目的Info.plist文件中:NSMicrophoneUsageDescriptionSomedescriptiontoexplainwhyaccessisrequired然后,我创建了一个简单的UIViewController,它设置了一个AVAudioEngine并在点击Record和停止按钮。ViewController.swiftimportUIKitimportAVFoundationclassViewController:UI

ios - 使用 AVAudioEngine 录制麦克风时如何检测用户停止说话?

我使用AVAudioEngine来录制用户说话,我想实现当用户暂停或停止说话超过X秒时,将播放之前刚刚录制的句子。但是我怎样才能检测到录音过程中的这种停顿呢?在AVAudioEngine中没有找到有用的API,有什么想法可以帮助我吗? 最佳答案 可以在里面设置TimerprivateletspeechRecognizer=SFSpeechRecognizer(locale:Locale.init(identifier:"en-US"))!speechRecognizer.recognitionTask(with:recognitio

ios - InstallTapOnBus - 用于输出信号

在主题主题中,我想分析输出信号的缓冲区。我已将此功能(InstallTapOnBus)用于麦克风信号,但不适用于输出。有人知道怎么做吗?letbus=0letnode=engine.outputNodenode.installTap(onBus:bus,bufferSize:AVAudioFrameCount(BUFFER_SIZE),format:node.outputFormat(forBus:bus),block:{(buffer:AVAudioPCMBuffer,time:AVAudioTime)in...})try!engine.start()}它给我一个错误:“所需条件为假

ios - 声音仅在 iOS 中首次使用 AVAudioEngine 播放

我有一个声音文件,它听为哔声,我必须根据某些条件改变音高来重复播放这个声音。我正在使用AVAudioEngine、AVAudioPlayerNode和AVAudioUnitTimePitch来实现这个目标。在我看来有两个按钮,即播放和停止。当我第一次按下“播放”按钮时,声音会重复播放,但在单击“停止”按钮一次然后再次单击“播放”按钮后,声音不会播放,也不会出现任何错误。我已经研究这个问题很长时间了,但无法找到解决方案,所以我来到了这里。你能帮我解决这个问题吗?或者我的问题还有其他替代解决方案吗?我的代码如下:importUIKitimportAVFoundationclassViewC

ios - AudioKit/AVAudioEngine 启动时间过长

我正在使用AudioKit,它在底层使用AVAudioEngine。我构建了一个中等大小的音频链,其中包含一些播放器、麦克风、音效和混音器以满足我的应用程序的功能。但是,我注意到每当我初始化链并调用AudioKit.start()时,都需要很长时间才能完成。在没有耳机的真实设备上为2s,使用蓝牙耳机时为7s。谁能告诉我这是否正常,我应该如何让它更快?感觉7s处理不正常啊。。。 最佳答案 @尼古拉斯,您有可以发布到GitHub的示例项目吗?您是在自己的类中还是在viewDidLoad中初始化AudioKit引擎在单独的ViewCont

ios - 更改 AVAudioNode 的输出格式

我正在尝试更改AVAudioMixerNode的输出格式,以便它以较低的采样率而不是默认格式输出单声道音频。我是否必须子类化AVAudioMixerNode类并覆盖outputFormatForBus函数才能做到这一点,还是有其他方法? 最佳答案 查看AVAudioEngine的文档对于这种方法:-(void)connect:(AVAudioNode*)node1to:(AVAudioNode*)node2format:(AVAudioFormat*)format注意格式参数:IfnotNULL,theformatofthesour

iOS 9 检测静音模式

我一直在寻找很长一段时间,在这里张贴作为放弃前的最后尝试。我想检测我当前是否处于静音模式。我找到了一种解决方法(播放假声音并检查完成情况),它工作正常但仅当我不在AVAudioSessionCategoryPlayAndRecord模式时。这恰恰是在一个屏幕上,我可以录制我想要实现的音频和视频,以便知道我是否应该播放UI声音。总而言之,我试图找到一种在AVAudioSessionCategoryPlayAndRecord模式下检测静音模式的方法。 最佳答案 这是一个尝试通过将AudioSession类别短暂切换到SoloAmbien

ios - 应该如何在 AVAudioEngine 图中配置 AUMatrixMixer?

我完全坚持这一点,非常感谢任何帮助...我在AVAudioEngine图表中实现了一个AUMatrixMixer,但我听不到任何声音。如果我将AUMatrixMixer换成AUMultiChannelMixer,我就能听到声音。我在直接上游节点(AUHighPassFilter)上安装了一个分路器,我可以看到音频被AUMatrixMixer提取。如果我将水龙头移到AUMatrixMixer的输出端,我可以看到从下一个下游节点-AVAudioEngine主混音器节点-拉取数据,但它完全没有声音......关于AUMatrixMixers的评论不多,所以它可能是一些我不知道的神奇设置。作为

ios - 在 AVAudioEngine 上播放音乐序列

AVAudioEngine有一个可以设置的musicSequence属性。但是,我很难弄清楚如何玩它?我尝试使用startAndReturnError但无济于事 最佳答案 这是一个很好的例子,你可以如何使用它。MusicSequenceAVAudioEngine这也是AudioEngine的文档请看先前附加到音频引擎的音乐序列。声明快捷方式varmusicSequence:MusicSequenceobjective-C@property(nonatomic)MusicSequencemusicSequence可用性适用于iOS8.