linux 3.1核心的驅動路(12)--播放MP3,WMA音樂__linux

來源:互聯網
上載者:User

移植環境(紅色粗字型字為修改後內容,藍色粗體字為特別注意內容)

1,主機環境:VMare下linux5.7 ,384記憶體。

2,編譯編譯環境:arm-linux-gcc v4.4.3

3,開發板:FL2440,4M nor flash,256M nand flash。

4,u-boot版本:u-boot-2011.09

5,linux 版本:linux-3.1

6,參考文章:

嵌入式linux應用開發完全手冊,韋東山,編著。

LDD3,

 

 

所需源碼包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz
下載地址:
http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
http://cdnetworks-kr-2.dl.sourceforge.net/project/mad/libid3tag/0.15.1b/libid3tag-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/madplay/0.15.2b/madplay-0.15.2b.tar.gz

 

1.建立路徑
sudo mkdir /madplay
sudo mkdir /madplay/mad

2.給路徑最大許可權
sudo chmod 777 /madplay /madplay/mad

3.將四個源碼包拷貝到 /madplay下並解壓

 

4.編譯zlib-1.1.4
           進入到zlib-1.1.4路徑:
            cd zlib-1.2.5/
             (1)首先配置configure 檔案,產生Makefile,命令(--prefix=/madplay/mad/為指定最終產生的庫檔案的安裝路徑):
                       sudo ./configure --prefix=/madplay/mad/

     (2)修改Makefile:
                      sudo vi Makefile
            修改以下三項:
                     CC=gcc -> CC=arm-linux-gcc
                    AR=ar rc -> AR=arm-linux-ar rc
                    RANLIB=ranlib -> RANLIB=arm-linux-ranlib

   (3)編譯:
                    sudo make

   (4)安裝:
                     sudo make install

5: 編譯libid3tag-0.15.1b 

 進入到libid3tag-0.15.1b 路徑:
                 cd libid3tag-0.15.1b /

1)運行以下命令

sudo ./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared CPPFLAGS=-I/home/zhao/madplay/mad/include/  LDFLAGS=-L/home/zhao/madplay/mad/lib

(2)編譯:
        sudo make

(3)安裝:
        sudo make install

6: 編譯libmad-0.15.1b

進入到libmad-0.15.1b 路徑:
       cd libmad-0.15.1b /

1)運行以下命令

sudo ./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared CPPFLAGS=-I/home/zhao/madplay/mad/include/ LDFLAGS=-L/home/zhao/madplay/mad/lib

(2)編譯:
       sudo make

(3)安裝:
        sudo make install

7.編譯madplay:
       進入路徑/madplay/madplay-0.15.2b
       1)運行以下命令

./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared --enable-static --disable-nls CPPFLAGS=-I/home/zhao/madplay/mad/include/ LDFLAGS=-L/home/zhao/madplay/mad/lib

(2)編譯:
sudo make

(3)安裝:
sudo make install

這樣產生的madplay最終是動態編譯的,為了靜態編譯,make之後輸出的最後的編譯命令複製一下,最後加上-static,如下:


/usr/local/arm/3.4.1/bin/arm-linux-gcc -Wall -g -O2 -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_oss.o -L/madplay/mad/lib /madplay/mad/lib/libmad.a /madplay/mad/lib/libid3tag.a -lz -lm -static

斷行符號,OK!

將目前的目錄下的madplay下載到開發板上,然後下載一個mp3格式的音頻檔案到開發板,執行:
./madplay xxx.mp3
這樣就可以通過耳麥聽到播放的mp3音樂了.

編碼格式為MPA1L3的歌曲播放效果還行,播放速度只比PC的慢一點.
編碼格式為MPA2L3的歌曲播放起來明顯聽起來很慢.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.