libgdx中的拍击声检测
我只是好奇。我正在制作一个非常简单的游戏,我想在用户鼓掌时加入游戏逻辑(比如发出响亮的声音)。在libgdx中可能吗?在libgdx中有录音机接口。您可以通过PC或Android手机上的麦克风访问PCM数据libgdx中的拍击声检测,libgdx,Libgdx,我只是好奇。我正在制作一个非常简单的游戏,我想在用户鼓掌时加入游戏逻辑(比如发出响亮的声音)。在libgdx中可能吗?在libgdx中有录音机接口。您可以通过PC或Android手机上的麦克风访问PCM数据 int samples = 44100; boolean isMono = true; AudioRecorder recorder = Gdx.audio.newAudioRecorder(samples, isMono); 这将在单声道模式下创建采样率为44.1khz的录音机。如果无法
int samples = 44100;
boolean isMono = true;
AudioRecorder recorder = Gdx.audio.newAudioRecorder(samples, isMono);
这将在单声道模式下创建采样率为44.1khz的录音机。如果无法创建记录器,将引发GdxRuntimeException
样本可以读取为16位有符号PCM:
int seconds = 5;
final short[] data = new short[samples * seconds];
recorder.readSamples(data, 0, data.length);
JavaScript/WebGL后端不支持音频录制。我希望它每帧录制一次声音并获得振幅。但是如何每帧录制一次声音呢?根据我在libgdx中的说法,你不能每帧都获得声音振幅,但是在android中它可以并且可以通过接口使用。通常,您可以在单独的线程中读取麦克风,进行一些音频分析(预定义窗口上的RMS),并使用postRunnable向GLThread触发事件。