问题标签 [superpowered]

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 回答
506 浏览

superpowered - 如何在 Superpowered 中多次播放一个音频文件?

我正在创建一个钢琴游戏。在游戏中,玩家可以多次快速触摸同一个键,音符的声音应该以相同的方式播放。在这种情况下我需要做什么?

我已阅读问题,但没有找到适合我的案例的答案。

想到了暂停 SuperpoweredAdvancedAudioPlayer 实例,替换进度开始位置再播放。但在这种情况下,声音听起来断断续续且难听。我还考虑创建一个新的 SuperpoweredAdvancedAudioPlayer 实例,使用 open 方法并独立播放。但我担心,我需要等待加载文件,我会得到延迟。或者超能力只加载一次并重复使用它?

请给我建议。

0 投票
1 回答
183 浏览

c++ - 将 SuperpoweredAdvancedAudioPlayer 同步到绝对位置

SuperpoweredAdvancedAudioPlayer内置节拍同步,效果很好。但是我想将播放器同步到我的节拍器的绝对位置,并尝试通过setPosition (double ms, bool andStop, bool synchronisedStart)在每个处理循环中使用 player 方法设置这个位置来实现。只要播放器以其原始 bpm 播放,这将起作用。当我改变速度并且播放时间延长时,我会得到失真的音频。

我试图将位置设置为主人的位置以及玩家以其原始速度(masterPositionMs* playerBpm/ masterBpm)的计算位置。我也尝试过开启和关闭节拍同步。

我究竟做错了什么?有没有更好的方法来进行绝对同步?

0 投票
1 回答
478 浏览

android - 使用 Superpowered SDK 从缓冲区播放音频

我一直在尝试使用 Superpowered Audio SDK 从缓冲区(短整数)播放音频文件。目前,在每次调用 process 函数时,我都会传入输出缓冲区并编写如下:

生成的音频可以识别为我正在尝试播放的歌曲,但严重失真。

我通过将缓冲区中的数据写入 wav 文件并以这种方式测试播放来检查缓冲区中的数据是否符合我的预期。

我的预感是 memcpy 例程可能过于密集而无法如此频繁地调用,但我一直无法找到替代方法。

我也明白这种播放方法不是使用超能力播放音频文件的合适方法,但对于我的用例来说是必需的。

任何指导将不胜感激!

0 投票
1 回答
645 浏览

android - Android SuperPowered SDK 音频 - 频域示例 - memset 频率操作

我试图了解 Superpowered SDK,但对 Android 和 C++ 以及音频信号都是新的。我有来自这里的频域示例: https ://github.com/superpoweredSDK/Low-Latency-Android-Audio-iOS-Audio-Engine/tree/master/Examples_Android/FrequencyDomain

在我的 Nexus 5X 上运行。在 FrequencyDomain.cpp 文件中:

我从这里了解前 20 个 bin 是 0-430 Hz 的: 如何获得 FFT 中每个值的频率?

但我不明白 memset 中 80 的值......是 4 * 20,浮点数 * 20 箱是 4 字节吗?幅度左是否保存所有频率的数据?例如,我将如何从中间或最后的最高频率中删除 10 个频率箱?谢谢!

0 投票
1 回答
119 浏览

superpowered - 播放 WAV 时的 DurationChanged

Android SuperpoweredSDK 1.0.3 版

我试图通过 SuperpoweredAdvancedAudioPlayer 循环播放 WAV 文件。由于某种原因,我在每个SuperpoweredAdvancedAudioPlayerEvent_EOF之前都有SuperpoweredAdvancedAudioPlayerEvent_DurationChanged 。每次播放后,我的循环越来越小。我可以在持续时间中听到和看到这一点。当我播放 AAC 或 MP3 时,它不会发生。看起来像一个错误,但也许我不知道一些重要的事情。

工艺功能:

0 投票
1 回答
502 浏览

android - 具有多个播放器的超级强大的 SDK 弹出声音

同时播放多个 SuperpoweredAudioPlayer 时,我会听到爆裂声。当一个 SuperpoweredAudioPlayer 播放中等音量的声音时,当我在第二个 SuperpoweredAudioPlayer 上调用 play() 时会发出爆裂声,即使第二个播放器中初始静音并且 process() 音量设置为 0。我可以因为我正在制作音乐制作应用程序,所以输出中没有弹出。输出也需要实时生成。我做错了什么还是有解决方法?是否可以通过让玩家处于不同的线程中来解决?

0 投票
1 回答
346 浏览

java - Android NDK - 引用 JNIEnv 从 C++ 调用 Java

我对 C++ 很陌生,我在这里使用 Superpowered FrequencyDomain 示例: https ://github.com/superpoweredSDK/Low-Latency-Android-Audio-iOS-Audio-Engine/blob/master/Examples_Android/FrequencyDomain /app/src/main/jni/FrequencyDomain.cpp

我想不断更新从这个while循环内部接收到的最大频率的TextView:

我想我需要做这样的事情:

但这些是示例 C++ 函数中已经可以访问 env 和 thiz 的唯一行:

像这样调用 Java 函数:

我一直在尝试不同的方法来获取 JNIEnv 和 jobject,但我还没有成功。我看到它们在这里没有使用:

但我不确定如何访问它们:

我试过让它们全球化。从我读过的内容来看,我试图获得对它们的参考,但缺少如何去做。为了能够调用这样的东西,我需要执行哪些步骤:

从音频处理内部?非常感谢!

0 投票
1 回答
211 浏览

java - Superpowered Recorder不写入文件

我正在尝试混合 SuperpoweredAdvancedAudioPlayers 并写入 wav 文件。我打电话recorder->start(path)and recorder->stop(),但没有任何东西写入磁盘。我的清单中有正确的存储权限。我用谷歌搜索了其他人的代码并想出了这个:

我的过程:

初始化:

有任何想法吗?

0 投票
1 回答
324 浏览

android - 超级强大的安卓高通滤波器

我想以特定的频率切割信号(这样人类听不到它 - 超声波)。我正在使用 CrossExample 对其进行测试。我使用过滤器如下:

不幸的是,无论频率参数如何,您总是可以听到一点信号(最大音量 + 靠近扬声器的耳朵),这意味着它没有正确切割。

我做错了什么还是sdk的失败?

0 投票
2 回答
539 浏览

android - 超级强大:淡入/淡出

我在文档中寻找一个简单的淡入/淡出,但找不到任何东西。

是否可以在具有超能力的循环信号上进行淡入/淡出?

//编辑

我正在使用 CrossExample 并以小脉冲循环声音。我想用超能力在循环信号上应用淡入和淡出。