The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Програмирование звука (sound example)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: sound, example,  (найти похожие документы)
_ RU.UNIX.LINUX (2:5077/15.22) _________________________________ RU.UNIX.LINUX _ From : Andrew B. Sapozhnikov 2:5020/400 18 Jan 99 18:47:28 Subj : Програмирование звука ________________________________________________________________________________ From: "Andrew B. Sapozhnikov" <sapa@hq.icb.chel.su> Ivan Lebedev wrote: > День добрый всем кто это видит! > Посоветует ли Всемогущий Олл, где взять литературу, > разъясняющую вопросы управлениея звуковой картой. > Как вообще под эхотагом генерируют звуки. > А то находил лишь библиотеки для игрушек и исходники от mpg123. > хочется книжку! В /dev/dsp уже дудю, а частоту дескритизации не могу > настроить. > И дудит она на 8 бит, а mpg123 дудит ту да же на 16! #include <stdio.h> #include <fcntl.h> #include <sys/soundcard.h> #define DSPDEVICE "/dev/dsp" int main() { int dsp, rate, realr, stereo, reals, formats, format; dsp = open(DSPDEVICE,O_WRONLY,0); if(dsp==-1) { perror("open: " DSPDEVICE); exit(1); } realr=rate=11025; if(ioctl(dsp,SOUND_PCM_WRITE_RATE,&realr)==-1) { perror("ioctl(SOUND_PCM_WRITE_RATE): " DSPDEVICE); exit(1); } printf("NOTICE: I asked rate %i, and %i was set.\n",rate,realr); reals=stereo=1; if(ioctl(dsp,SNDCTL_DSP_STEREO,&reals)==-1) { perror("ioctl(SNDCTL_DSP_STEREO): " DSPDEVICE); exit(1); } printf("NOTICE: I asked %s, and %s was set.\n", stereo?"stereo":"mono", reals?"stereo":"mono"); if(ioctl(dsp,SNDCTL_DSP_GETFMTS,&formats)==-1) { perror("ioctl(SNDCTL_DSP_GETFMTS): " DSPDEVICE); exit(1); } printf("NOTICE: Device support formats:\n%s%s%s%s%s%s%s%s%s%s", (formats&AFMT_MU_LAW)?"\tU-LAW\n":"", (formats&AFMT_A_LAW)?"\tA-LAW\n":"", (formats&AFMT_IMA_ADPCM)?"\tIMA-ADPCM\n":"", (formats&AFMT_U8)?"\tUnsigned-8\n":"", (formats&AFMT_S16_LE)?"\tSigned-16 (little-endian)\n":"", (formats&AFMT_S16_BE)?"\tSigned-16 (big-endian)\n":"", (formats&AFMT_S8)?"\tSigned-8\n":"", (formats&AFMT_U16_LE)?"\tUnsigned-16 (little-endian)\n":"", (formats&AFMT_U16_BE)?"\tUnsigned-16 (big-endian)\n":"", (formats&AFMT_MPEG)?"\tMPEG-2\n":""); format=0; if((formats&AFMT_S16_LE)!=0) { format=AFMT_S16_LE; if(ioctl(dsp,SNDCTL_DSP_SETFMT,&format)==-1) { perror("ioctl(SNDCTL_DSP_SETFMT): " DSPDEVICE); exit(1); } if(format==AFMT_S16_LE) printf("NOTICE: Signed 16-bit little-endian " "was set.\n"); else { printf("STRANGE: Cannot set mode S16_LE :-(\n"); format=0; } } if (!format && (formats&AFMT_U8)!=0) { format=AFMT_U8; if(ioctl(dsp,SNDCTL_DSP_SETFMT,&format)==-1) { perror("ioctl(SNDCTL_DSP_SETFMT): " DSPDEVICE); exit(1); } if(format==AFMT_U8) printf("NOTICE: Unsigned 8-bit was set.\n"); else printf("STRANGE: Cannot set mode U8 :-(\n"); } close(dsp); return 0; } --- ifmail v.2.14dev2 * Origin: ICB (2:5020/400@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
 
  • 1, DRAHM, 20:12, 20/11/2006 [ответить] [смотреть все]
  • +/
    Ага всем достоиным привет!Я сразу в суть
    делаю прог. на ASM(MSDOS) в защещеном режиме надо заставить работать встроенный 2-, 6- или 8-канальный звуковой контроллер RealTek ALC850(звук).Нужно описания портов(I/O),внутрених регистров и команд.Хотябы как стаким или подобным устройством работать.А то я че то колом стал! Заранее всем кто поможет от души душевно.


     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList