问题标签 [novocaine]

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.

0 投票
1 回答
1040 浏览

ios - iOS 中 Novocaine 上的多个音频和设置音量

如何使用 Novocaine 播放多个音频并更改其音量?

谢谢!

0 投票
0 回答
364 浏览

cocoa-touch - 如何使用 Novocaine 获得特定频率的分贝

目前我正在使用AurioTouch并从麦克风获取声音。但是我在缓冲一首长歌时遇到了麻烦…… Novocaine似乎可以很好地处理音频播放,并且拥有我需要的一切,除了我无法弄清楚如何在特定频率下检索声音幅度(分贝)。

我对声音分析太笨了,欢迎任何帮助!

0 投票
1 回答
299 浏览

ios - 一起使用 Novocaine 和 AVCam

我的问题很简单。我想使用 Apple 的AVCam示例项目录制电影。在录制时,我想过滤音频通道以提取我稍后将使用的一堆信息(我发现Novocaine + NVDSP对我来说是最好的解决方案)。现在,我发现 Novocaine 和 AVCam 不能很好地协同工作,例如。他们都试图访问麦克风,但只有其中一个可以控制它(AVCam 似乎在这里“获胜”)。

是否可以让 AVCam 记录音频通道,同时让 Novocaine 在单独的过程中分析该数据?AVCam 应该记录来自麦克风的“真实”声音,而 Novocaine 会出于不同的目的对它们进行详细说明。

0 投票
1 回答
242 浏览

ios - 启动管理器后,是否可以在 iOS 上禁用 Novocaine?

我正在将 Novocaine 用于 iOS 应用程序。[Novocaine audioManager]Novocaine使用单例实例来处理音频 IO(

当我尝试打开想要同时播放音频和视频的视频预览控制器时,这将导致问题。当此控制器尝试控制设备的音频输出时,应用程序崩溃。

你知道禁用单例实例的方法Novocaine吗?

0 投票
0 回答
681 浏览

objective-c - 是否可以使用 Novocaine 进行音频流式传输

目前我出于不同的原因在多个应用程序中使用Novocaine 。感谢 Alex 提供的出色框架!也感谢 Nick D. 的制作!

我可以通过这样的示例使用基本播放来获取示例:

然后我使用GCDAsyncSocket通过套接字流发送数据

收到数据后,我将其放入环形缓冲区

像这样玩:

我最好的尝试是只接收几秒钟的声音(取决于我的缓冲区的大小),而不仅仅是故障或没有声音......

我在使用缓冲区方面完全是新手,我已经花了几天时间尝试配置如何实现这一点。

我的问题是:是否可以仅使用 Novocaine 及其 ringBuffer 在 iPhone 设备之间传输音频?我应该像Speak Here示例那样去 AudioQueue吗?也许将它们结合起来?我知道我的问题是使用缓冲区,因此非常感谢任何有关缓冲的帮助。

0 投票
1 回答
487 浏览

ios - Novocaine:保存的音频文件不起作用

我从 Novocaine 的示例项目中输出了一个 m4a 文件。但我无法在 iTunes 中打开该文件。该文件可能已损坏。

我没有更改代码,只是删除了注释。

如果您知道可能的解决方案或建议,我想知道您是否可以分享我。

诺沃卡因https://github.com/alexbw/novocaine

0 投票
1 回答
149 浏览

ios - 在 iPhone5 上有 3 个输入通道(不是 1 个)

在 iPhone5(可能还有 iPad mini)上,此代码返回 3 个输入通道

我的问题是为什么3?我在 iPhone4S、iPod4、iPad2、iPad3 上检查了这段代码 - 它返回 1 - 这是麦克风

但其他 2 是什么?

0 投票
2 回答
1670 浏览

ios - Core-Plot:从块内调用 Plot 或 Graph 上的 reloadData 不起作用

我希望能够在运行时更新/重新加载 iOS 设备上的 ScatterPlot。具体来说,我记录音频输入,做一些有趣的事情,并将结果作为一个简单的 NSNumber 值放入一个数组中。每当发生这种情况时,都会在我要更新的 Plot 上调用 reloadData,但遗憾的是,完全没有任何反应。基本上,我做的和这里的答案中描述的一样:real time plotting on iPhone using core plot? . 它只是不起作用,所以我认为我犯了一些愚蠢的错误。

这是相关的方法:

X Squared Plot 目前与我的需求无关,它只是一个参考。LivePlot 是我需要并想要更新的。_plotIndizesAndVolume 是我存储我的值的 NSMutableArray。它有 500 个元素,所有这些元素在我执行开始时都用 [NSNumber numberWithFloat:0.0f] 初始化。Plot 也有 500 个 indizes,因此我们不会越界或其他任何事情。

代码执行良好,方法被调用,printf 语句工作并正确显示浮点数,Plot 只是没有更新。

我也试过

数组中没有 500 个 0.0fs,所以我只是访问与 0.0f 不同的值。这当然更好,它也不起作用。

有任何想法吗?

更新1:

  • 如果我在应用程序开始时仅用随机数填充 _plotIndizesAndVolume,则绘图完全遵循这些数字。

  • 如果我在方法中使用 printf,一旦在绘图上调用了 reload,我就可以完美地读取更新的值。

  • 但是,这些更新的值不会显示在图中。无论 _plotIndizesAndVolume-Array 中的哪些值发生变化,绘图都保持在对其调用 -reloadData 后的状态。

因此,据我所见:我可以正确访问数组,可以正确更新和读取新值,绘图仍然保持不变并且不会改变。我很困惑。可能我仍然犯了一些随机的愚蠢错误,我只是没有看到它。

更新2:

好吧,似乎我的问题不是 reloadData 本身,而是我从哪里调用它。更多背景信息:我正在使用 novocaine 通过设备麦克风测量分贝。这工作正常。然后,我想通过 corePlot(我在上面描述过)在图表中可视化部分测量的 dB。我得到了一种方法startMeasuring,我有时会调用它,然后 - 显然 - 开始测量分贝。每当发生这种情况时,我都会将测量值 int_plotIndicesAndVolume并调用reloadData绘图。

该方法看起来像这样(并且大部分是直接从 novocain 示例中复制的):

reloadData从测量块内调用。我不太了解使用块,我只是假设我可以做到这一点。但是,如果我尝试更改数组中的数据,然后从其他地方手动重新加载绘图,它会起作用并且绘图会相应地更新。问题是否与我在块内调用方法有关?

即使这样,我仍然不确定为什么它不起作用,因为 printf 语句可以完美运行 - 所以我假设 updateData 方法被正确调用并且值被正确更新。

更新 3:

如果我reloadData在测量过程中从其他地方打电话,图表会更新得很好,并且会根据_plotIndizesAndVolume. 如果我从块内调用它,它根本不会更新(即使我从块内调用另一个方法,而该方法又调用reloadData)。但是,我需要实时更新。我想我也可以每 x 毫秒重新加载一次绘图(接下来会尝试),我仍然很好奇为什么它一开始就不起作用。

更新 4:正如更新 3 中所假设的,如果我reloadData通过 NSTimer 从其他地方调用,它会完全按照我的意愿执行。那为什么我不能从块内调用它呢?

0 投票
0 回答
1391 浏览

ios - iOS - AudioOutputUnitStop 导致应用程序冻结和警告

有时执行

导致应用程序冻结约 10/15 秒,并显示以下控制台消息:

此类代码由 Novocaine 库处理,特别是它发生在 [Novocaine pause] 方法中,我调用该方法来停止执行音频文件的播放(https://github.com/alexbw/novocaine/blob/master /Novocaine/Novocaine.m)。

任何提示都非常感谢!

谢谢,丹

0 投票
2 回答
911 浏览

ios - 在 iOS (Novocaine) 上播放和停止声音样本

我正在尝试制作一个简单的 Drumpad 应用程序。该应用程序需要超快并以尽可能少的延迟播放声音。前提是将音频样本存储在一个数组中,并在您敲击打击垫时播放每个样本。

问题是有些打击垫是和弦(而不是鼓),因此它们需要在 Touch Up 时立即停止。

以下是我尝试过的方法:

系统声音- 实现起来非常简单,反应灵敏,没有办法在不破坏声音的情况下停止声音,声音不能超过 30 秒。

AV 框架- 减慢速度。

惊人的音频引擎- 看起来不错,但不确定与 CoreAudio 相比有什么优势,因为设置相当复杂,我无法播放声音。也不确定延迟。

Novocaine - 我现在就决定了,它看起来非常快,而且我可以播放声音,但我发现一旦它们开始就没有办法阻止它们。我不知道如何在不停止整个 audioManager 的情况下停止单个声音?

似乎是一项简单的任务,以超低延迟启动和停止声音。

我应该使用上述方法之一,还是硬着头皮进入核心音频单元。

有人有想法么?