问题标签 [avaudioengine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
midi - kAudioUnitType_MusicEffect 作为 AVAudioUnit
我想在图表中使用我的kAudioUnitType_MusicEffect
AU 。AVAudioEngine
所以我试着打电话:
但这只会产生 normal ,因此无法识别AVAudioUnit
midi 选择器(如 - )。[AVAudioUnit sendMIDIEvent:data1:data2:]:
它似乎AVAudioUnitMIDIInstrument instantiateWithComponentDescription
只适用于kAudioUnitType_MusicDevice
.
有什么办法可以做到这一点?(注:OS X 10.11)
ios - iOS 在通过 AVAudioUnitTimePitch 播放时调整音高
我正在尝试获取一些音频,以便能够在播放时调整音高。我对 Swift 和 iOS 非常陌生,但我最初的尝试是timePitchNode.pitch
在它播放的同时进行更改;但是,它不会在播放时更新。我目前的尝试是重置audioEngine
,并让它从播放的位置恢复(如下)。我如何确定音频当前的位置,以及如何让它从那里恢复?
objective-c - 使用 AVAudioEngine 同时录制麦克风和音乐
我目前正在尝试同时记录播放器节点和输入节点,但我遇到了一些困难。我可以让他们单独录制,并在某个时候将我的代码设置为录制两者。唯一的问题是,当我设法做到这一点时,来自输入节点的录制内容将通过扬声器播放,因为它的录制会产生回声,最终会产生难以承受的反馈。因此,我尝试按如下方式塑造我的代码,以便输入节点不会通过扬声器播放,但我发现它很难。
我正在尝试按如下方式设置我的代码:
我已经尝试了许多组合,但我不能把它们都放在这里,所以我会列出一些基本代码,并希望有人在这方面有一点专业知识。
首先我创建我的引擎并附加节点:
然后我进行引擎连接(这是我需要知道哪里出错的地方。)
每当我尝试将一个混音器直接连接到另一个混音器时,我都会收到错误消息:
最后,我尝试将这些都放在我的记录功能中。您看到的功能将记录播放器,但不会记录输入。
我可以记录输入的唯一方法是设置节点抽头,如下所示:
但随后它不会记录播放器。
请告诉我那里有人知道该怎么做。
谢谢,
约书亚
memory-management - 尽管视图控制器被关闭,AVAudioEngine 仍继续执行
我用 playernode 混合器节点和输入节点设置了我的代码。我还设置了它来处理中断或功能的特定变化。
然而,随着这些变化带来了一个大问题,那就是如果视图控制器被关闭,不仅它不再为我的应用程序释放内存,而且 playernode 继续播放。如果我回到播放器节点的视图并按停止它不起作用。我什至可以再次激活播放器,它会与无法停止的播放器一起播放。
问题区域位于代码的底部区域,如果有硬件配置更改,我会尝试从引擎获取通知。如果我删除此代码,当视图被关闭时,引擎正在使用的所有内存也将被删除。但这也意味着,如果有人插入耳机,应用程序就会崩溃。所以我需要你看到的代码,但我需要更改它,以便如果视图被关闭,应用程序将释放正在使用的内存。
有什么建议吗?
ios - AVAudioEngine API:AVAudioUnitTimePitch CPU 使用率过高
我正在尝试使用变调滤波器实现一个简单的鼓垫机应用程序。我正在使用AVAudioEngine API。
应用程序中有12 个打击垫。每个打击垫都有自己的类和自己的AVAudioPlayerNode。当没有连接其他过滤器时,该应用程序运行得非常快。几乎没有任何延迟。
但是当我尝试将AVAudioUnitTimePitch附加到链上时,CPU使用率上升到 100%,并且应用程序在初始化后挂起。在iPad3上进行了测试。
此代码适用于每个 Pad 初始化。
有没有办法以某种方式减少 CPU 使用率?
PS 另外我在iPad Air上测试了这个应用程序。它有效。但是 CPU 使用率仍然很高:初始化后为25-30% 。播放音频时大约50% 。
objective-c - 在一个简单的avaudioengine程序中释放内存?
我想知道如何在这个通过缓冲区播放文件然后停止它的简单程序中释放内存。
以上是引擎和播放器节点的一般设置。然后我们用播放按钮实现播放器:
最后我们用停止按钮停止播放器:
playerIsPlaying 只是一个简单的 BOOL,用于确定 _player 是否正在播放。
所以基本上我的问题是,当你现在编写这个程序时按下停止按钮时,不会释放任何内存。当然,我可以将一行简单的代码添加到停止按钮中,以释放引擎和播放器正在使用的内存?
有什么想法吗?
ios - 在 AVAudioEngine 输入上点击麦克风不起作用
我正在设置一个 AVAudioEngine 实现以从麦克风获取音频并将其流式传输到 websocket 连接。首先,我点击了麦克风输入和中间混音器,将麦克风的音频从 44khz 降采样到 11khz。不知何故,日志上只显示了下采样混音器的“打印”,而从麦克风 inputNode 上点击的“打印”从未发生过。我究竟做错了什么?我是否在以错误的心态想象某些事情?
avfoundation - 绕过 AVAudioEngine 延迟?
我正在使用APItap
在基于块的回调中获取 PCM 缓冲区样本。AVAudioEngine
我以前使用过 Core-Audio,但复杂且难以克服的大量文档记录不佳的 c 代码驱使我选择了这个基于 AVFoundation 的框架。
我有这样的代码:
我只是开始一个鼓循环并在每个回调中捕获最高价值的浮点数。sum
在其他地方,有一个视觉组件与我正在 使用的 max( ) 值的变化相一致。
问题是视图的动画和我听到的鼓循环几乎一秒不同步。所以我的问题是,是否AVAudioEngine
根本无法提供在音频源时间甚至 50-100 毫秒内的回调?
avaudioengine - AVAudioFile 不能在 AVAudioEngine 中播放
我正在尝试使用 AVAudioEngine 播放 AVAudioFile。代码大部分取自 Apple Developer 的在线视频并改编,但没有播放。花了一些时间浏览论坛,但似乎没有任何亮点。
我有两种方法。第一个调用标准打开文件对话框,打开音频文件,分配一个 AVAudioBuffer 对象(我稍后会用到)并用音频数据填充它。第二个设置 AVAudioEngine 和 AVAudioPlayerNode 对象,将所有内容连接起来并播放文件。下面列出了这两种方法。
我检查了功能正在执行,音频引擎正在运行并且音频文件已被读取。我也尝试过使用不同的音频文件格式,包括单声道和立体声。有任何想法吗?
我正在运行 Xcode 7.3.1。
ios - AVAudioInputNode 权限
这似乎是一个非常基本的问题,但我正在努力寻找答案。据我所知,AVAudioInputNode 自 iOS 8 以来就已经可用,例如,它可用于从 iPhone 上的麦克风进行录音。
我以前知道我会使用 AVAudioRecorderSession 来请求记录和检查我是否有权限等。我正在努力的是在使用 AVAudioEngine 时查看如何请求和检查权限。
所以在下面这样的事情中,我将如何去做呢?
我注意到可以在 plist 中设置麦克风隐私消息,并且调用 audioEngine.inputNode 似乎会显示此消息。但是我仍然看不到在哪里检查是否已授予该权限。如果我添加
直接在guard let inputNode
它显示消息的行之后,但总是告诉我在我响应警报之前没有授予权限。
解决这个问题的最佳方法是什么?我应该先回退到使用 audioSession 方法吗?值得一提的是,这是从 SpeechRecognizer 周围的 WWDC 代码中提取的。我只是看不到他们在哪里处理麦克风权限
事实上,它似乎并不总是显示请求权限的警报。我在这里缺少什么,因为我发现的示例似乎跳过了这个权限步骤