草庐IT

AvaudioEngine

全部标签

ios - AVAudioEngine 麦克风 float 数据

我正在尝试使用AVAudioEngine获取实时麦克风输入的float据。进行一次fft和fft之后的特殊算法。当我编译代码时,我在控制台上变成了这个输出:0x0000000000000000我做错了什么?非常感谢帮助这是我获取float数据的代码:letaudioEngine=AVAudioEngine()overridefuncloadView(){super.loadView()letinputNode=audioEngine.inputNodeletbus=0inputNode!.installTapOnBus(bus,bufferSize:2048,format:inputN

ios - 我们可以将语音识别框架与 Today Extension 合并吗

我正在尝试构建一个带有语音按钮的小部件。当我按下它时,它应该将发出的语音转换为文本。但是,当我尝试录制语音时,AVAudioEngine无法启动。是因为TodayExtension中不允许使用AVAudioEngine吗? 最佳答案 在互联网上搜索我似乎找到了答案。简短的回答是否定的,你不能recordAudioinextension. 关于ios-我们可以将语音识别框架与TodayExtension合并吗,我们在StackOverflow上找到一个类似的问题:

ios - 使用 AVAudioEngine 离线渲染音频文件

我想录制音频文件并通过应用一些效果来保存它。录音还可以,用效果播放这段音频也可以。问题是当我尝试离线保存此类音频时,它会生成空音频文件。这是我的代码:leteffect=AVAudioUnitTimePitch()effect.pitch=-300self.addSomeEffect(effect)funcaddSomeEffect(_effect:AVAudioUnit){try?AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord,with:.defaultToSpeaker)

ios - 用于 MIDI 播放和录音的 AVAudioEngine 同步

问题1我的第一个问题涉及使用AVAudioPlayerNode和AVAudioSequencer进行MIDI时的播放同步。基本上我正在尝试通过MIDI播放一些东西,但它们需要完美同步。我知道AVAudioPlayerNode有同步方法,但音序器似乎没有类似的方法。目前我已经尝试在单独的线程上使用CAMediaTime()+delay和usleep,但它们似乎工作得不是很好。问题2我正在使用engine.inputNode上的点击来获取录音,与音乐播放分开。不过,好像录音开始得更早了。当我将录制的数据与原始播放进行比较时,差异约为300毫秒。我可以在300毫秒后开始录制,但即便如此,这也

ios - AVAudioEngine实时调频

我想实时修改传入信号并将其发送到iOS设备扬声器。我读过AVAudioEngine可用于此类任务。但是找不到我想要实现的目标的文档或示例。为了测试目的,我做了:audioEngine=AVAudioEngine()letunitEffect=AVAudioUnitReverb()unitEffect.wetDryMix=50audioEngine.attach(unitEffect)audioEngine.connect(audioEngine.inputNode,to:unitEffect,format:nil)audioEngine.connect(unitEffect,to:au

swift - 8000 PCM格式的AVAudioEngine如何录音播放?

我想将此代码用于VoIP服务。我正在使用网络套接字并用它发送:letdata=self.toNSData(PCMBuffer:buffer)和播放:letaudioBuffer=self.toPCMBuffer(data:data)在另一台设备中)我用过:https://github.com/Lkember/IntercomTest并进行了工作,但数据量很大。我感觉41100速率对于发送数据来说是一个非常大的大小,我想将较低速率的缓冲区大小减少到8000。但我不知道如何在不引起错误的情况下降低采样率!我失败的代码如下:@IBActionfuncstart(_sender:Any){va

ios - AVAudioEngine() 播放不工作

我正在尝试使用Swift中的AVAudioEngine()改变声音的音高。这是我的代码:funcsetUpEngine(){letfileString=NSBundle.mainBundle().pathForResource("400",ofType:"wav")leturl=NSURL(fileURLWithPath:fileString!)do{tryaudioFile=AVAudioFile(forReading:url)print("done")}catch{}}varengine=AVAudioEngine()varaudioFile=AVAudioFile()varaud

swift - AVAudioPCMBuffer 以编程方式构建,不以立体声播放

我正在尝试在Swift中以编程方式填充AVAudioPCMBuffer以构建节拍器。这是我尝试构建的第一个真正的应用程序,所以它也是我的第一个音频应用程序。现在我正在尝试使用不同的框架和方法来让节拍器准确循环。我正在尝试构建一个长度为小节/小节的AVAudioPCMBuffer,以便我可以使用AVAudioPlayerNode的scheduleBuffer方法的.Loops选项。我首先将我的文件(2ch、44100Hz、Float32、non-inter、*.wav和*.m4a都有相同的问题)加载到缓冲区中,然后将缓冲区逐帧复制到barBuffer中,帧由空帧分隔。下面的循环是我如何完

使用内置麦克风的 ios 录音只有一个 channel 声音

我正在使用AVAudioEngine来捕捉用户的声音并对其应用一些效果。当使用耳机的麦克风录音时,一切顺利。但是用手机内置麦克风录音,通过耳机播放声音时,只有左侧耳塞有声音,看来内置麦克风只有单声道输入。那么我该如何解决这个问题呢?这是我的一些代码:funcconnectNode(){engine.connect(engine.inputNode!,to:reverbNode,format:reverbNode.outputFormatForBus(0))engine.connect(reverbNode,to:delayNode,format:delayNode.outputForm

ios - 是否可以使用 AVAudioEngine 播放 iOS 音乐库中的歌曲?

我已经成功地创建了一个AVAudioEngine。它播放项目目录中的本地声音文件。但是我怎样才能访问手机上的音乐库?有没有办法将AVAudioEngine与MPMediaPickerController结合起来?谢谢 最佳答案 是的:)您需要在MPMediaPickerController上设置MPMediaPickerControllerDelegate,这样当用户在MPMediaPickerController中执行操作时您会收到通知。Here是您可以在MPMediaPickerControllerDelegate上使用的方法。