К сожалению, я не могу воспроизводить звук или слушать микрофон более 1 секунды. Программа запущена, но аудиоустройство, кажется, останавливается через ~100 миллисекунд.
Например (см. ниже), когда я пытаюсь прослушать микрофон и измерить громкость (с помощью объект Amplitude), программа начинает корректно реагировать на мой голос, но затем громкость фиксируется до заданного значения.
Мой код
Код: Выделить всё
import processing.sound.*;
AudioIn in;
Amplitude amp;
void setup() {
in = new AudioIn(this, 0);
in.start();
amp = new Amplitude(this);
amp.input(in);
print(Sound.list(true));
print("\navailable channels: " + MultiChannel.availableChannels());
print("\nactive channel: " + MultiChannel.activeChannel() + "\n");
}
void draw() {
if( frameCount % 10 == 0 ) {
print("\nVolume: " + amp.analyze());
}
if( frameCount % 60 == 0 ) {
print("\n\nTime passed: " + millis() * 0.001);
Sound.status();
}
}
Код: Выделить всё
Sound library: JavaSound device listing
id | Device name | inputs | outputs
----+---------------------+--------+--------
0 | Port PCH [hw:0] | 0 | 0
1 | Port VirMIDI [hw:1] | 0 | 0
I,O 2 | default [default] | 32 | 32
3 | PCH [plughw:0,0] | 0 | 0
4 | PCH [plughw:0,3] | 0 | 8
5 | PCH [plughw:0,7] | 0 | 8
6 | PCH [plughw:0,8] | 0 | 8
7 | PCH [plughw:0,9] | 0 | 8
8 | PCH [plughw:0,10] | 0 | 8
Port PCH [hw:0] Port VirMIDI [hw:1] default [default] PCH [plughw:0,0] PCH [plughw:0,3] PCH [plughw:0,7] PCH [plughw:0,8] PCH [plughw:0,9] PCH [plughw:0,10]
available channels: 32
active channel: 0
Volume: 0.0
Volume: 0.015411826
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Time passed: 2.209
Sound library: synthesis has been running for 0,11 seconds, generated 4928 frames (framerate 44100)
audio devices used by JavaSound:
input from 'default [default]': 32 channels, latency 100ms
output on 'default [default]': 32 channels, latency 40ms
nodes in synthesizer network: 2
decoded audio samples held in cache: 0 (0 frames total)
CPU usage: 77%
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Volume: 0.013633937
Time passed: 3.21
Sound library: synthesis has been running for 0,11 seconds, generated 4928 frames (framerate 44100)
audio devices used by JavaSound:
input from 'default [default]': 32 channels, latency 100ms
output on 'default [default]': 32 channels, latency 40ms
nodes in synthesizer network: 2
decoded audio samples held in cache: 0 (0 frames total)
CPU usage: 77%
[...]
java 17.0.8
Обработка 4.3, со звуковой библиотекой 2.4.0
Linux 22.04
Мои аудиоустройства:
Код: Выделить всё
aplay -l
**** Liste des périphériques matériels PLAYBACK ****
carte 0 : PCH [HDA Intel PCH], périphérique 0 : ALC3204 Analog [ALC3204 Analog]
Sous-périphériques : 0/1
Sous-périphérique #0 : subdevice #0
carte 0 : PCH [HDA Intel PCH], périphérique 3 : HDMI 0 [HDMI 0]
Sous-périphériques : 1/1
Sous-périphérique #0 : subdevice #0
carte 0 : PCH [HDA Intel PCH], périphérique 7 : HDMI 1 [HDMI 1]
Sous-périphériques : 1/1
Sous-périphérique #0 : subdevice #0
carte 0 : PCH [HDA Intel PCH], périphérique 8 : HDMI 2 [HDMI 2]
Sous-périphériques : 1/1
Sous-périphérique #0 : subdevice #0
carte 0 : PCH [HDA Intel PCH], périphérique 9 : HDMI 3 [HDMI 3]
Sous-périphériques : 1/1
Sous-périphérique #0 : subdevice #0
carte 0 : PCH [HDA Intel PCH], périphérique 10 : HDMI 4 [HDMI 4]
Sous-périphériques : 1/1
Sous-périphérique #0 : subdevice #0
Я попытался выбрать другое аудиоустройство с помощью «Sound.outputDevice(4);» в настройке(). Затем я могу успешно проанализировать свой голос, и аудиоустройство, похоже, не перезагружается. Однако я не могу услышать ни одного аудиосэмпла, используя этот метод. Я думаю, что этот альтернативный метод направляет аудиопоток на неподключенный выход (вероятно, HDMI).
Подробнее здесь: https://stackoverflow.com/questions/784 ... audio-devi