具體**如下:
音效卡錄音功能
#include
#include
#include
#include
#include
#include
#include
//錄音時間
#define length 3
//取樣頻率
#define rate 8000
//量化位數
#define size 16
//聲道數目
#define channels 2
//儲存錄音的音訊資料
unsigned char buf[length*rate*size*channels/8];
int main(void)
//以下設定音效卡引數
//設定取樣時的量化位數
arg=size;
status=ioctl(fd,sound_pcm_write_bits,&arg);
if(status==-1)
//設定取樣聲道數目
arg=channels;
status=ioctl(fd,sound_pcm_write_channels,&arg);
if(status==-1)
//設定取樣頻率
arg=rate;
status=ioctl(fd,sound_pcm_write_rate,&arg);
if(status==-1)
//一直錄音,直到按下「 control-c」停止
while(1)
printf("play ...:\n");
status=write(fd,buf,sizeof(buf));
if(status != sizeof(buf)) perror("wrote wrong number of bytes");
//在繼續錄音前等待回放結束
status=ioctl(fd,sound_pcm_sync,0);
if(status==-1) perror("cannot set sound_pcm_sync");
}return 0;
}
linux下的音訊裝置檔案程式設計
1.linux下的音訊裝置檔案 dev audio 與 dev dsp類似。使用的編碼方式為mu law。dev mixer 音效卡中混音器的軟體介面,用於將多個聲音頻號組合或進行疊加。對混音器的程式設計包括如何設定增益,以及如何在不同的音源之間進行切換。dev sequencer 用於提供對音效卡...
Linux音訊程式設計指南 二
四 應用框架在linux下進行音訊程式設計時,重點在於如何正確地操作音效卡驅動程式所提供的各種裝置檔案,由於涉及到的概念和因素比較多,所以遵循乙個通用的框架無疑將有助於簡化應用程式的設計。4.1 dsp程式設計 對音效卡進行程式設計時首先要做的是開啟與之對應的硬體裝置,這是借助於open系統呼叫來完...
Linux音訊程式設計指南(1)
什麼是音訊?取樣和量化。取樣就是每隔一定時間就讀一次聲音頻號的幅度,而量化則是將取樣得到的聲音頻號幅度轉換為數字值.1 取樣頻率 是指將模擬聲音波形進行數位化時,每秒鐘抽取聲波幅度樣本的次數。取樣頻率的選擇應該遵循奈奎斯特 harrynyquist 取樣理論 如果對某一模擬訊號進行取樣,則取樣後可還...