国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

迅為-4418開(kāi)發(fā)板移植ALSA聲卡

發(fā)布時(shí)間:2020-12-8 10:04    發(fā)布者:就是塔塔
關(guān)鍵詞: 迅為 , ALSA

高級(jí)Linux 聲音體系(Advanced Linux Sound Architecture,縮寫(xiě)為 ALSA)是 Linux內(nèi)核中,為聲卡提供的驅(qū)動(dòng)組件,以替代原先的 OSS(開(kāi)放聲音系統(tǒng))。一部分的目的是支持聲卡的自動(dòng)配置,以及完美的處理系統(tǒng)中的多個(gè)聲音設(shè)備。本文介紹如何移植 ALSA到 iTOP-4418 開(kāi)發(fā)板,適用于最小 Linux 系統(tǒng)和 qt 系統(tǒng)。

查看本次提供的壓縮包內(nèi)容,分別為指導(dǎo)文檔,測(cè)試音樂(lè)以及源碼,在 binary 文件夾中有編譯好的二進(jìn)制文件,供用戶直接使用,如下圖所示。

將提供的兩個(gè)壓縮包拷貝到 Ubunut 的工作目錄“/root/ALSA”中,如果沒(méi)有該目錄的話需要?jiǎng)?chuàng)建,拷貝完成后如下圖所示。

首先編譯 alsa-lib-1.1.5.tar.bz2 ,在當(dāng)前目錄輸入命令“tar -xvf alsa-lib-1.1.5.tar.bz2”解壓,然后用命令“cd alsa-lib-1.1.5 ”,進(jìn)入剛才解壓的文件夾中,如下圖所示。

在此目錄,輸入以下命令對(duì)源碼進(jìn)行交叉編譯。

CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-linux --prefix=/root/ALSA/install/

完成后如下圖所示。

然后依次輸入命令“make”,“make install”生成庫(kù)文件到目錄“/root/ALSA/install/”中。這兩條命令執(zhí)行成功,則可以在上級(jí)目錄看到 install 文件夾已經(jīng)生成。如下圖紅框所示。

接下來(lái)編譯 alsa-utils-1.1.5.tar.bz2,在當(dāng)前目錄輸入命令“tar -xvf alsa-utils-1.1.5.tar.bz2 ”解壓,然后用命令“cd a alsa-utils-1.1.5 ”,進(jìn)入剛才解壓的文件夾中,如下圖所示。

在此目錄,輸入以下命令對(duì)源碼進(jìn)行交叉編譯。

CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/root/ALSA/install/ --host=arm-linux --withalsa-inc-prefix=/root/ALSA/install/include --with-alsa-prefix=/root/ALSA/install/lib --disable-alsamixer


--disable-xmlto --disable-nls

完成后如下圖所示。

然后依次輸入命令“make”生成二進(jìn)制文件到當(dāng)前目錄中的對(duì)應(yīng)文件夾中,這些文件分別在下圖中被紅框選中的文件夾中,這些文件夾中沒(méi)有擴(kuò)展名并與文件夾相同名稱的文件便是生成的 ELF 文件。

這里以 aplay 文件夾為例,使用“cd aplay”進(jìn)入文件夾,用 ls 命令可以看到生成的aplay 可執(zhí)行文件,如下圖所示。

用戶需要將以上所有被選中文件夾中的可執(zhí)行文件拷貝到 U 盤(pán),傳入到開(kāi)發(fā)板,編譯到此完成。

如果用戶不想編譯的話,binary 文件夾中有編譯好的可執(zhí)行文件,直接拷貝到 U 盤(pán)上進(jìn)行下一步即可。

接下來(lái)的命令行操作在串口控制臺(tái)進(jìn)行。將 U 盤(pán)插到運(yùn)行 qt 系統(tǒng)的開(kāi)發(fā)板上,使用命令“mount /dev/sda1 /mnt/disk”掛載 U 盤(pán)。使用命令“cp /mnt/disk/ALSA/* /bin”將 ALSA 所有可執(zhí)行文件拷貝到“/bin”目錄下。

插上耳機(jī),使用命令“speaker-test -c 2 &”檢測(cè)耳機(jī),耳機(jī)中輸出粉紅噪音。執(zhí)行結(jié)果如下圖所示。

使用命令 ps,查看 speaker-test 的 pid,如下圖所示。
本例中 speaker-test 的 pid 是 553,使用命令 kill 553 終止它。完成后耳機(jī)停止輸出粉紅噪音。
此時(shí)的 ALSA 并不完全,如果通過(guò) apaly 直接播放音頻的話會(huì)發(fā)現(xiàn)不能控制音量,接下來(lái)創(chuàng)建配置文件來(lái)完善它。在串口控制臺(tái)輸入命令“cd /etc”進(jìn)入/etc 目錄,在該目錄下輸入命令“vi asound.conf”創(chuàng)建配置文件,將下面的代碼敲入該文件中。
pcm.!default "plug:primary"
pcm.primary {
type softvol
slave.pcm "plughw:0"
control.name "master"
control.card 0
}
完成后如下圖所示
該配置文件創(chuàng)建了一個(gè)名為‘pcm’的從設(shè)備,隸屬于音量控制插件primary,通過(guò)!default 選項(xiàng)將該插件設(shè)置成默認(rèn) PCM 輸出設(shè)備,然后重啟開(kāi)發(fā)板。接下來(lái)便可以用 aplay 進(jìn)行音頻播放,筆者的音頻文件放在/root 目錄中 如下圖所示。
該配置文件創(chuàng)建了一個(gè)名為‘pcm’的從設(shè)備,隸屬于音量控制插件primary,通過(guò)!default 選項(xiàng)將該插件設(shè)置成默認(rèn) PCM 輸出設(shè)備,然后重啟開(kāi)發(fā)板。接下來(lái)便可以用 aplay 進(jìn)行音頻播放,筆者的音頻文件放在/root 目錄中 如下圖所示。
使用命令“amixer set 'master' 100”將音量設(shè)置為 100,音量值可取 0-255,操作如下圖所示。
可以聽(tīng)到耳機(jī)的聲音變小。錄音測(cè)試通過(guò)命令“arecord filename &”來(lái)執(zhí)行,filename 用戶自己指定,&不可省略。錄音過(guò)程如下圖所示。
結(jié)束錄音的方法與結(jié)束播放的方法相同,即通過(guò) ps 查看進(jìn)程pid,用 kill 命令終止它,這里不再重復(fù)。錄音結(jié)束后可以在當(dāng)前目錄看到 test.wav 文件,該文件可以用 aplay 播放測(cè)試。

本文地址:http://m.4huy16.com/thread-750084-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)上海首站開(kāi)幕
  • 技術(shù)熱潮席卷三城,2025 Microchip中國(guó)技術(shù)精英年會(huì)圓滿收官!
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)——采訪篇
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國(guó)技術(shù)精英年會(huì)深圳站回顧
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表