Ötlet innen lopva: http://debianforum.de/forum/viewtopic.php?f=28&t=103335&start=0
Frekvenciák: http://www.flutepage.de/deutsch/goodies/frequenz.shtml
Runanydll és bat nélküli lejátszás
Vigyázat! Nagyon ronda kód!
beepsong.c:
#include < windows.h >
#include < stdio.h >
typedef struct {
int f;
int l;
}hang;
hang linedecoder(char * line){
hang h1;
int isnumber;
int i=0;
char f[10];
char l[10];
int step=0;
int j=0;
do{
isnumber=(47 < line[i] && line[i] < 58)? 1 : 0; // [0-9]+
f[i]=line[i];
if(!isnumber)f[i]='\0';
i++;
}while(isnumber);
do{
isnumber=(47 < line[i] && line[i] < 58)? 1 : 0; // [0-9]+
l[j]=line[i];
if(!isnumber)l[j]='\0';
i++;
j++;
}while(isnumber);
//printf("%s %s", f, l);
h1.f=atoi(f);
h1.l=atoi(l);
return h1;
}
int beep_file(char * filename){
FILE * file;
char line[100];
hang h2 ;
file = fopen(filename, "r");
if (file==NULL) return -1;
while(fgets(line, 100, file)){
// vagy ujsorig, vagy az elso 100 bajtig olvas
h2=linedecoder(line);
//printf(" %s ", line);
printf("[+] f:%d h:%d\n", h2.f, h2.l);
Beep(h2.f, h2.l);
}
fclose(file);
return 1;
}
int main(int argc, char * argv[]){
char * fname = "song_list.txt";
beep_file(fname);
}
- foofighter blogja
- A hozzászóláshoz be kell jelentkezni
- 922 megtekintés
Hozzászólások
Hoppá, akkor már meg is van, hogy fogom portolni a linuxos speekeres lylipond lejátszómat windowsra. :)
Egyébként ahogy nézem kb. ugyanezt akarják megcsinálni ők is (mármint a linuxosat).
Na majd közzéteszem, olyan 1 hét múlva, mivel az otthoni gépen van.
Jó lenne beüzemelni rundll32-vel, hogy ne kelljen hozza 3d party app.
- A hozzászóláshoz be kell jelentkezni
A rundll32 csak nagyon keves fuggvenyt tud direktbe hivni, mintha erre kulon fel kene kesziteni a fuggvenyeket...
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
bookmark :)
- A hozzászóláshoz be kell jelentkezni
while read -sn1 p;do s="";for((i=0;i<$p;i++));do s=x$s;done; yes $s > /dev/audio&sleep 0.1;kill %%;done
szerk.: 0-9ig a gombok :)
:D
- A hozzászóláshoz be kell jelentkezni