Ключевые слова:sound, (найти похожие документы)
Date: Mon, 14 Oct 2002 19:15:40 +0600
From: Konstantin Boshnyaga <[email protected]>
Newsgroups: ftn.ru.unix.bsd
Subject: Пример программы для записи звука с звуковой карты
SB> Hеобходимо производить запись звука со входа звуковой платы,
SB> складывать в файлы по 1 часу и хранить в течении 2-х
SB> месяцев. Качество не важно. Пока необходимо писать два
SB> источника, так что одного стерео канала хватит. Что из ПО
SB> посоветуете? Пожелания: -давить в
SB> MP3 -консольность -возможность записи каждого канала в
SB> отдельный канал
когда-то делал такое для записи fm эфира. схема была такая:
1. самопальная прога читающая из /dev/dsp и пихающая на stdout
2. кодер mp3 читающий с stdin и выплевываюший в файло.
далее по крону каждый час запускался скрипт:
record 3600 | encode -m m -l 3 -s 32 -b 64 - //mp3/{$day}/{$hour}.mp3
в качестве 64Kbps успевало все кОдит(Pii-300). Это было 2-3 года назад, еще
под 2.2.6 работало. Может сегодня можно сделать как-то по-современному.
прога такая:
record.c
#include <stdio.h>
#include <machine/soundcard.h>
FILE *f,*out;
main(argc,argv)
int argc;
char **argv;
{
int i;
time_t howlong,when;
unsigned char buf[BUFSIZ];
snd_chan_param p;
f=fopen("/dev/dsp","r");
if (f==NULL)
{
perror("open audio dev");
exit(1);
}
p.play_rate=32000;
p.rec_rate=32000;
p.play_format=AFMT_U8;//
p.rec_format=AFMT_S16_LE;//16_LE; //16_BE;// U16_BE;
if(ioctl(fileno(f),AIOSFMT,&p)<0)
{
perror("set format:");
exit(1);
}
howlong=atoi(argv[1]);
when=time(NULL)+howlong;
do
{
fwrite(buf,sizeof(unsigned char),fread(buf,sizeof(unsigned
char),BUFSIZ,f),s
tdout);
}
while(time(NULL)<when);
}
Как можно записать звуковой поток с аудио карты на локальном компьютере , без помощи др. усройств и проводов ,т.е непосредственно с звуковухи (чтоб запись шла в реальном времени) ?????? Может есть какя прога ???
у меня любая попытка записи с LINE-IN при помощи REC и LAME выдает: sox: Can't open input file '/dev/dsp': Device or resource busy
хотя никакой процесс не использует /dev/dsp.
Запущены только shoutcast и shoutcast_trans. Помогите разобраться - заранее спасибо