您的位置: 旅游網 > 爆料 >> 春節

    操作系統的聲音設備編程實例計劃

    發布時間:2021-10-27 05:33:21

    除了羊水之外還有一層絨毛膜、子宮壁及腹壁 對聲卡編程 只要我們不是進行諸如驅動設備開發之類的工作,對聲卡的編程和上面對揚聲器的編程沒有什么本質的區別。當你試圖來編寫諸如CD播放器、MP3播放器之類的復雜的程序時,你的工作是取獲得與CDROM控制、MP3解碼之類的信息,而讀寫系統設備的這一步在Linux下超互想象的簡單。例如,Linux下最簡單的播放wav的程序只有一行:cp $ /dev/audio。將它寫成一個shell文件,同樣是一個程序(shell 編程)。 我們首先需要知道一臺機器上是否有聲卡,一個檢查的辦法是檢查文件/dev/sndstat文件,如果打開此文件錯誤,并且錯誤號是ENODEV,則說明此機器沒有安裝聲卡。除此之外,試著去打開文件/dev/dsp也可以來檢查是否安裝了聲卡。 Linux下和聲卡相關的文件有許多,如采集數字樣本的/dev/dsp文件,針對混音器的/dev/mixer文件以及用于音序器的/dev/sequencer等。文件/dev/audio是一個基于兼容性考慮的聲音設備文件,它實際是到上述數字設備的一個映射,它最大的特色或許是對諸如wav這類文件格式的直接支持。我們下面的例子即使用了此設備文件實現了一個簡單的錄音機:我們從聲卡設備(當然要用麥克風)讀取音頻數據,并將它存放到文件v中去。要播放這個wav文件,只要如前面所述,使用命令cp v /dev/audio即可,當然你也可以用Linux下其他的多媒體軟件來播放這個文件。 下面即是完整的程序清單: /* 此文件中定義了下面所有形如SND_的變量*/#include #include #include #include #include main(){/* id:讀取音頻文件描述符;fd:寫入的文件描述符。i,j為臨時變量*/int id,fd,i,j;/* 存儲音頻數據的緩沖區,可以調整*/char testbuf[4096];/* 打開聲卡設備,失敗則退出*/if ( ( id = open ( \"/dev/audio\", O_RDWR ) ) 0 ) {fprintf (stderr, \" Can\'t open sound device!\\n\");exit ( -1 ) ;}/* 打開輸出文件,失敗則退出*/if ( ( fd = open (\"v\",O_RDWR))0){fprintf ( stderr, \" Can\'t open output file!\\n\");exit (-1 );}/* 設置適當的參數,使得聲音設備工作正常*//* 詳細情況請參考Linux關于聲卡編程的文檔*/i=0;ioctl (id,SNDCTL_DSP_RESET,(char *)i) ;ioctl (id,SNDCTL_DSP_SYNC,(char *)i);i=1;ioctl (id,SNDCTL_DSP_NONBLOCK,(char *)i);i=8000;ioctl (id,SNDCTL_DSP_SPEED,(char *)i);i=1;ioctl (id,SNDCTL_DSP_CHANNELS,(char *)i);i=8;ioctl (id,SNDCTL_DSP_SETFMT,(char *)i);i=3;ioctl (id,SNDCTL_DSP_SETTRIGGER,(char *)i);i=3;ioctl (id,SNDCTL_DSP_SETFRAGMENT,(char *)i);i=1;ioctl (id,SNDCTL_DSP_PROFILE,(char *)i);/* 讀取一定數量的音頻數據,并將之寫到輸出文件中去*/for ( j=0; j10;){i=read(id,testbuf,4096);if(i0){write(fd,filebuf,i);j++;}}/* 關閉輸入、輸出文件*/close(fd);close(id);}

    衢州白癜風最好醫院
    武漢男科
    咸陽治療早泄陽痿醫院哪家好
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 国产乱理伦片在线观看大陆| 99热在线精品免费播放6| fc2ppv在线播放| 日本色图在线观看| 国产欧美日韩专区| 为什么高圆圆被称为炮架| 男彩虹用的app小蓝| 国产精品久久国产精品99| 久久久久人妻精品一区二区三区| 第一福利官方航导航| 国产精品亲子乱子伦xxxx裸| 久久久免费精品re6| 欧美日韩精品一区二区三区高清视频| 国产小视频你懂的| 一区二区三区免费在线观看| 欧美性猛交xxxx乱大交丰满| 国产丝袜视频一区二区三区 | 亚洲一区二区三区影院| 草莓视频网站下载| 天天看天天射天天碰| 亚洲va中文字幕| 美女下面直流白浆视频| 国产美女一级毛片| 久久久国产精品亚洲一区| 欧美成人精品高清在线观看| 国产中文字幕一区| 69成人免费视频| 性猛交xxxxx按摩欧美| 亚洲成在人线中文字幕| 被猛男cao男男粗大视频| 在线综合 亚洲 欧美中文字幕| 乱人伦人妻中文字幕在线入口| 精品国产亚洲一区二区三区| 国产精品亚洲小说专区| c的你走不了路sb医生| 日韩精品一区二区三区视频| 办公室啪啪激烈高潮动态图| aa级国产女人毛片水真多| 天堂√最新版中文在线| 久久只这里是精品66| 浪荡女天天不停挨cao日常视频|