uns einige gabba aus den Audio-Lautsprechern haben können
#!/usr/bin/ruby
$audio = File.open("/dev/audio", "w+")
def snd char
$audio.print char.chr
end
def evil z
0.step(100, 4.0/z) { |i|
(i/z).to_i.times { snd 0 }
(i/z).to_i.times { snd 255 }
}
end
loop {
evil 1
evil 1
evil 1
evil 4
}
obwohl ernster:
//g++ -o pa pa.cpp -lportaudio
#include <portaudio.h>
#include <cmath>
int callback(void*, void* outputBuffer, unsigned long framesPerBuffer, PaTimestamp, void*) {
float *out = (float*)outputBuffer;
static float phase;
for(int i = 0; i < framesPerBuffer; ++i) {
out[i] = std::sin(phase);
phase += 0.1f;
}
return 0;
}
int main() {
Pa_Initialize();
PaStream* stream;
Pa_OpenDefaultStream(&stream, 0, 1, paFloat32, 44100, 256, 1, callback, NULL);
Pa_StartStream(stream);
Pa_Sleep(4000);
}
Ich glaube, dass Sie root privs brauchen, um die PC-Speaker Beep-Spezifika tun, zumindest unter X Sie tun .. –
Nicht mit diesem Code benutze ich es direkt von einem Benutzerkonto.Ich denke, dass die Kontrolle durch den Standard-Gerätetreiber ioctl ausgesetzt ist() Schnittstelle – paxdiablo