




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、在移植alsa-lib和alsa-utils之前首先要移植alsa-device,保證系統(tǒng)支持alsa驅(qū)動,移好alsa-device后再dev/snd后出現(xiàn)相應(yīng)的設(shè)備: controlC0 - 用于聲卡的控制,例如通道選擇,混音,麥克風(fēng)的控制等 midiC0D0 -用于播放midi音頻 pcmC0D0c - 用于錄音的pcm設(shè)備 pcmC0D0p - 用于播放的pcm設(shè)備 seq - 音序器 timer - 定時器1. tar -xvf alsa-lib_1.0.23.orig.tar.bz2(1) 配置alsa-lib./configure -host=arm-fsl-linux-gnue
2、abi -prefix=/opt/ALSA/alsa_lib CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gccerror:configure error required courses helper header not found安裝libncursesw5-dev。 apt-get install libncursesw5-devconfigure: error: panelw library not found./configure加入 -wit
3、h-curses=ncurses/bin/bash: xmlto: command not found安裝xmlto /bin/rm: cannot remove libtoolt: No such file or directory強(qiáng)制make!(2)makemake install生成的庫alsa_lib$ lsbin include lib share在這個文件lib下的庫*.so.*是要發(fā)布到板子上去的,可以直接copy到開發(fā)板的根目錄lib下(這里只是copy,不要剪貼,后面還要用到,注意的是有些軟連接不能copy,只能自己到板子上創(chuàng)建。)2. tar -xvf alsa-utils
4、-1.0.23.tar.bz2./configure -host=arm-fsl-linux-gnueabi -prefix=/opt/ALSA/alsa_utils/ -with-alsa-inc-prefix=/opt/ALSA/alsa_lib/include/ -with-alsa-prefix=/opt/ALSA/alsa_lib/lib/ -disable-alsamixer -disable-xmlto注:-with-alsa-inc-prefix:指定頭文件為alsa-lib編譯出來的頭文件路徑-with-alsa-prefix:指定庫文件為alsa-lib編譯出來的庫文件路徑
5、error:mv: cannot stat t-ja.gmo: No such file or directory解決方法是下載gettext: apt-get install gettextmakemake install成功以后,你會在自己的alsa-utils安裝路徑下的bin目錄下見到生成的工具aconnect amidi amixer aplay aplaymidi arecord arecordmidi aseqdump aseqnet iecset speaker-test3.alsa_libcp ALSA/alsa_lib/lib/libasound.* ./nfsdir_li
6、nux/lib/alsa的配置文件拷貝除了庫之外alsa的配置文件也需要拷貝到目標(biāo)板根文件系統(tǒng)中,這里需要注意的是share目錄在目標(biāo)板的存放位置必須和在主機(jī)的存放路徑一致,比如在主機(jī)上存放在/home/david/project/S5PC100/alsa/alsa-lib,那么我們就得把share放在目標(biāo)板上的這個路徑里cp -rf share /home/nfsdir_linux/home/ALSA/alsa_lib/alsa_utils將alsa-utils/bin目錄下的內(nèi)容拷貝到目標(biāo)板根文件系統(tǒng)中的bin下cp bin/* /home/nfsdir_linux/bin/4.測試#ca
7、t /proc/asound/devices 0: 0 : control16: 0- 0: digital audio playback24: 0- 0: digital audio capture33: : timer# ls -l /dev/snd/crw-rw- system audio 116, 33 1970-01-01 00:00 timer 定時器接口crw-rw- system audio 116, 0 1970-01-01 00:00 controlC0 控制接口crw-rw- system audio 116, 24 1970-01-01 00:00 pcmC0D0c P
8、CM接口crw-rw- system audio 116, 16 1970-01-01 00:00 pcmC0D0p如果沒有snd目錄則創(chuàng)建播放wav文件1、查看聲卡設(shè)備Aplay l2、打開設(shè)備和調(diào)節(jié)音量amixer -c 0 sset Master,0 80%,40% unmute capamixer -c 0 sset PCM,0 80%,40% unmute cap設(shè)置第1塊聲卡的Master和“PCM”的左聲道音量為80%,右聲道為40%,取消靜音,并設(shè)置3、播放音樂aplay test.wavPlaying WAVE test.wav : Unsigned 8 bit, Rate
9、16000 Hz, Mono錄音arecord -d 20 -c 2 -t wav -r 8000 -f Signed 16 bit Little Endian a.wav以20秒的間隔(-d 20),立體聲(-c 2),頻率是 8000Hz來錄制Wave格式音頻alsa-utils工具的使用:alsa-utils包含的工具有:alsactl, aconnect, alsamixer, amidi, amixer, aplay, aplaymidi, arecord, arecordmidi,aseqnet, iecset, speaker-testamixer controls查看可以控制的
10、選項,可以通過numid控制amixer contents查看聲卡內(nèi)容amixer cget numid=(amixer controls 顯示的)查看具體的選項amixer cset controls中所輸出的某個參數(shù) 具體的值(比如,0,1,On,Off等)1.alsactlalsactl用來對alsa聲卡驅(qū)動進(jìn)行一些高級的設(shè)置.系統(tǒng)中裝有多個聲卡,它也可以支持.有時在音量控制面板無法調(diào)整的選項,可以使用alsactl來實現(xiàn).alsactl可以將指定聲卡的驅(qū)動程序設(shè)置信息保存到配置文件.或從配置文件中恢復(fù)指定聲卡的驅(qū)動程序的設(shè)置信息.alsactl格式:alsactl options st
11、ore|restore選項:-h, -help打印幫助信息-f, -file指定使用的配置文件,默認(rèn)為/etc/asound.state.Select the configuration file to use. The default is/etc/asound.state-F, -force與恢復(fù)命令一起使用.表示最大限度的恢復(fù)設(shè)置值.-d, -debug調(diào)試模式,輸出更多細(xì)節(jié)信息.-v, -version打印alsactl版本號.文件:/etc/asound.state(或使用-f指定的文件)保存有聲卡所有混合器的設(shè)置信息.示例:# rm /etc/asound.state -f# al
12、sactl store2.aconnectaconnect是ALSA音序器的連接管理器.用來連接或斷開ALSA音序器上的端口.端口是可以隨意定義的.如,使用aconnect可以連接到任何由aseqview建立的設(shè)備端口.命令格式:aconnect -d -options sender receiveraconnect -i|-o -optionsaconnect -x選項:連接管理-d, -disconnect斷開連接.-e, -exclusive使用獨占模式連接端口.發(fā)送和接收端口將不能再與其他端口相連.-r, -real queue將時間包的時間戳,轉(zhuǎn)換為真實時間隊列的當(dāng)前值.顯示端口-i
13、, -input顯示存在的輸入端口.-o, -output顯示存在的輸出端口.-l, -list顯示當(dāng)前的連接狀態(tài).刪除連接-x, -removeall刪除所有連接.示例:連接端口64:0到65:0:% aconnect 64:0 65:0這個連接是單向的,所有到發(fā)送端口64:0的數(shù)據(jù),將被重定向到接收65:0端口.如果有另一個端口65:1,也使用64:0作為發(fā)送端口,則數(shù)據(jù)會同時發(fā)送到2個接收端口.端口連接時,使用:% aconnect -d 64:0 65:0地址也可以使用客戶端的名字來代替:% aconnect External:0 Emu8000:1使用-i打印出輸入端口信息.-o打印
14、出輸出端口信息.% aconnect -iclient 0: System type=kernel0 Timer 1 Announce client 64: External MIDI-0 type=kernel0 MIDI 0-0 可以使用-x選項來清除所有的連接.% aconnect -x3.alsamixeralsamixer是一個終端界面的聲卡音量調(diào)節(jié)器.如圖:命令格式:alsamixer options選項:-h, -help顯示幫助信息.-c指定需要設(shè)置的聲卡.默認(rèn)為0.-D選擇需要控制的調(diào)節(jié)器.-g設(shè)置界面顏色.-s最小化界面窗口.快捷鍵:進(jìn)入alsamixer界面后,可以使用下
15、面快捷鍵進(jìn)行控制:常規(guī)控制:左右箭頭或n,p 用來選擇通道.上下箭頭或+,- 同時調(diào)整選定通道的左右聲道的音量.B,= 設(shè)置左右聲道音量相同.M 靜音當(dāng)前通道.分別對左,右聲道靜音.空格 選擇錄音源.在選定的通道上按空格,可以標(biāo)記此通道為錄音源.此操作僅限輸入設(shè)備.插入鍵或;,刪除鍵或分別選定左右通道.L 刷新屏幕.快捷設(shè)置PageUp 增大5格音量.PageDown 減小5格音量.End 設(shè)置音量為0.分別調(diào)整左,右或整個通道的音量.Q,W,E 增大 左,右,通道 的音量.Z,X,C 減小 左,右,通道 的音量.alt-q,ESC 退出.4.amidi的使用amidi的作用是對ALSA的Ra
16、wMIDI端口進(jìn)行讀寫.amidi是一個命令行工具,允許你以獨占模式向MIDI設(shè)備讀/寫數(shù)據(jù).命令格式:amidi options選項:-h,-V,-l,-L 用于顯示信息.-s,-r,-S,-d 用于發(fā)送/接收數(shù)據(jù).-h, -help打印幫助信息.-V, -version打印版本號.-l, -list-devices打印所有硬件MIDI端口的列表.-L, -list-rawmidis打印所有RawMIDI定義.-p, -port=name設(shè)置要使用的ALSA RawMIDI端口.若不指定,則使用聲卡0的端口0.-s, -send=filename發(fā)送指定文件的內(nèi)容到MIDI端口.文件中必須包
17、含raw MIDI命令(.syx,.mid文件).-r, -receive=filename將MIDI端口接收的數(shù)據(jù)寫入指定文件.-S, -send-hex=.發(fā)送十六進(jìn)制字節(jié)到MIDI端口.-d, -dump從MIDI端口接收數(shù)據(jù),然后以十六進(jìn)制形式打印出來.-t, -timeout=秒指定超時,當(dāng)端口無數(shù)據(jù)輸出達(dá)到超時時長時,將停止接收數(shù)據(jù).示例:amidi -p hw:0 -s my_settings.syx發(fā)送my_settings.syx終端MIDI命令到端口 hw:0.amidi -S 發(fā)送XG復(fù)位到默認(rèn)端口.amidi -p virtual -d建立一個虛擬RawMIDI端口,然
18、后發(fā)送所有數(shù)據(jù)到這個端口.5.amixeramixer是命令行的ALSA聲卡驅(qū)動調(diào)節(jié)器工具.amixer用來在命令行控制ALSA的調(diào)節(jié)器,并且支持多聲卡.amixer不加參數(shù)時,將打印默認(rèn)聲卡的設(shè)置信息.命令格式:amixer -c card cmd命令:help 顯示語法幫助.info 顯示調(diào)節(jié)器設(shè)備的信息.scontrols 顯示調(diào)節(jié)器器的完整列表 .scontents 顯示包含詳細(xì)信息的調(diào)節(jié)器的完整列表.set or sset .設(shè)置調(diào)節(jié)器信息.get or sget顯示調(diào)節(jié)器的信息.controls 顯示聲卡控制器的信息.contents 顯示完整的聲卡控制器信息.cset .設(shè)置聲卡
19、控制器信息.cget 顯示聲卡控制器的信息.選項:-c card選擇指定的聲卡.-D device選擇需要控制的設(shè)備名.默認(rèn)是 default.-h Help顯示幫助信息.-q安靜模式.不輸出設(shè)置結(jié)果.示例:# amixer -c 1 sset Line,0 80%,40% unmute cap設(shè)置第2塊聲卡的line的左聲道音量為80%,右聲道為40%,取消靜音,并設(shè)置它為聲音源.# amixer -c 2 cset numid=34 40%設(shè)置第34個聲卡元素為40%.#amixer -c 0 set Headphone 30(97%)將第一個聲卡耳機(jī)音量設(shè)置為30或者97%#amixer
20、 -c 0 get Headphone查看第一個聲卡耳機(jī)音量設(shè)置6.arecord,aplayarecord,aplay是命令行的ALSA聲卡驅(qū)動的錄音和播放工具.arecord是命令行ALSA聲卡驅(qū)動的錄音程序.支持多種文件格式和多個聲卡.aplay是命令行播放工具,支持多種文件格式.命令格式:arecord flags filenameaplay flags filename filename .選項:-h, -help幫助.-version打印版本信息.-l, -list-devices列出全部聲卡和數(shù)字音頻設(shè)備.-L, -list-pcms列出全部PCM定義.-D, -device=N
21、AME指定PCM設(shè)備名稱.-q -quiet安靜模式.-t, -file-type TYPE文件類型(voc,wav,raw或au).-c, -channels=#設(shè)置通道號.-f -format=FORMAT設(shè)置格式.格式包括:S8 U8 S16_LE; S16_BE U16_LEU16_BE S24_LE; S24_BE U24_LE; U24_BE; S32_LE; S32_BE; U32_LE; U32_BEFLOAT_LE; FLOAT_BE; FLOAT64_LE; FLOAT64_BE; IEC958_SUBFRAME_LE;IEC958_SUBFRAME_BE; MU_LAW
22、A_LAW; IMA_ADPCM; MPEG; GSM-r, -rate=#設(shè)置頻率.-d, -duration=#設(shè)置持續(xù)時間,單位為秒.-s, -sleep-min=#設(shè)置最小休眠時間.-M, -mmapmmap流.-N, -nonblock設(shè)置為非塊模式.-B, -buffer-time=#緩沖持續(xù)時長.單位為微妙.-v, -verbose顯示PCM結(jié)構(gòu)和設(shè)置.-I, -separate-channels設(shè)置為每個通道一個單獨文件.示例:aplay -c 1 -t raw -r 22050 -f mu_law foobar播放raw文件foobar.以22050Hz,單聲道,8位,mu_
23、law格式.arecord -d 10 -f cd -t wav -D copy foobar.wav以CD質(zhì)量錄制foobar.wav文件10秒鐘.使用PCM的copy.arecord -vv -t wav -f S16_LE -c 2 -d 10 -r 24000 ./record.wav-vv 顯示錄音文件的信息-t 錄音文件的類型-f 文件格式-c 聲道,2為雙聲道-r 設(shè)置波特率-d 錄音時間7.aplaymidiaplaymidi用來播放標(biāo)準(zhǔn)的MIDI文件.aplaymidi是一個命令行工具,可以在一個或多個ALSA端口上播放MIDI文件.命令格式:aplaymidi -p cli
24、ent port,. -d delay midifile .選項:-h, -help輸出幫助信息.-V, -version輸出版本信息.-l, -list輸出可以使用的輸出端口列表.-p, -port=client port,.設(shè)置端口.-d, -delay=seconds設(shè)置MIDI文件結(jié)束后,等待時長.8.arecordmidi的使用arecordmidi用于錄制標(biāo)準(zhǔn)的MIDI文件.arecordmidi可以從一個或多個ALSA端口上,錄制一個標(biāo)準(zhǔn)MIDI文件.命令格式:arecordmidi -p client port,. options midifile選項:-h,-help打印幫助
25、信息.-V,-version打印版本號.-l,-list打印可以使用的輸入端口.-p,-port=clientort,.設(shè)置端口.-b,-bpm=beats設(shè)置MIDI文件的速率,默認(rèn)為120 BPM.-f,-fps=frames設(shè)置幀率.-s,-split-channels設(shè)置每個通道將錄制成一個單獨的MIDI文件.-d,-dump在標(biāo)準(zhǔn)輸出上,以文本形式顯示接受到的事件信息9.aseqnetaseqnet是ALSA調(diào)節(jié)器的網(wǎng)絡(luò)連接工具.aseqnet是ALSA調(diào)節(jié)器的客戶端程序,可以從網(wǎng)絡(luò)上發(fā)送和接收事件數(shù)據(jù)包.網(wǎng)絡(luò)上有主機(jī)A,主機(jī)B.A為服務(wù)器端,B為客戶端.ALSA調(diào)節(jié)器系統(tǒng)必須同事運
26、行在兩個服務(wù)器上.然后建立服務(wù)器端口:hostA% aseqnetsequencer opened: 128:0在HostB上執(zhí)行:hostB% aseqnet hostAsequencer opened: 132:0現(xiàn)在所有發(fā)送到HostA:128:0的數(shù)據(jù)將被傳送到HostB:132:0上,反之亦然.命令格式:aseqnet remotehost選項:-p port指定TCP端口號或服務(wù)名.-s addr設(shè)置指定地址用于讀操作.-d addr設(shè)置指定地址用于寫操作.-v詳細(xì)輸出模式.10.iecset的使用設(shè)置或輸出IEC958狀態(tài)位.iecset是個小工具,通過ALSA的API,設(shè)置或輸
27、出IEC958(或稱S/PDIF)狀態(tài)位信息.直接運行iecset將輸出當(dāng)前IEC958的狀態(tài)信息. 命令格式:iecset options cmd arg.選項:-D device設(shè)置需要打開的設(shè)備名.-c card設(shè)置需要打開的網(wǎng)卡名.-x輸出AESx字節(jié)格式的狀態(tài)信息.-i從標(biāo)準(zhǔn)輸入讀取命令信息,每行一個命令.命令:professional專業(yè)模式(true)或用戶模式(false).audio音頻模式(true).rate采樣頻率,單位Hz.emphasis設(shè)置加強(qiáng)值.0 = none, 1 = 50/15us, 2 = CCITT.lock速率鎖.sbits采樣位:2 = 20bit
28、, 4 = 24bit, 6 = undefined.wordlength設(shè)置字長:0 = No, 2 = 22-18 bit, 4 = 23-19 bit, 5 = 24-20bit, 6 = 20-16 bit.category分類:值從0到0x7f.copyright設(shè)置是否包含版權(quán).original原始標(biāo)記:示例:輸出當(dāng)前IEC958信息.$ iecsetMode: consumerData: audioRate: 44100 HzCopyright: permittedEmphasis: noneCategory: generalOriginal: 1st generationClock: 1000 ppm顯示當(dāng)前第1塊聲卡的IEC958狀態(tài)位.$ iecset -Dhw:0Mode: consumerData: non-audioRate: 44100 HzCopyrigh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 碼頭吊卸船服務(wù)合同協(xié)議
- 江蘇省泰州醫(yī)藥高新區(qū)六校聯(lián)考2025屆初三下學(xué)期9月月考語文試題試卷含解析
- 江蘇省泰州市泰興市西城2025年初三下學(xué)期第二次階段考試語文試題試卷含解析
- 湘贛粵名校2025年下學(xué)期第二次月考高三生物試題試卷含解析
- 肱骨外髁頸骨折的護(hù)理
- 2025年公共藝術(shù)設(shè)計專業(yè)畢業(yè)考試試題及答案
- 小兒流清鼻涕護(hù)理常規(guī)
- 中班數(shù)學(xué)《10以內(nèi)的點數(shù)》教學(xué)課件
- 消化內(nèi)科護(hù)理健康教育宣教
- 2025年中國木質(zhì)筆筒市場調(diào)查研究報告
- 有限空間作業(yè)氣體檢測記錄表
- 2024至2030年中國汽車鋁輪轂行業(yè)市場現(xiàn)狀調(diào)研與發(fā)展趨勢分析報告
- 八年級語文上冊 第一單元 第3課《鄉(xiāng)愁 余光中》教案 冀教版
- 2024中考英語必考1600詞匯分類速記表
- 江蘇泰州市泰興經(jīng)濟(jì)開發(fā)區(qū)國有企業(yè)招聘筆試題庫2024
- 2024年風(fēng)力發(fā)電運維值班員(技師)技能鑒定考試題庫-下(判斷題)
- DL∕T 1709.3-2017 智能電網(wǎng)調(diào)度控制系統(tǒng)技術(shù)規(guī)范 第3部分:基礎(chǔ)平臺
- 考核辦法和考核方案
- 化妝品生產(chǎn)OEM合同書
- 海上CANTITRAVEL平臺樁基施工關(guān)鍵技術(shù)應(yīng)用v7
- 有色金屬冶金概論課程教案
評論
0/150
提交評論