丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
政企安全 正文
發(fā)私信給孫冰
發(fā)送

13

【硬創(chuàng)邦】跟hoowa學(xué)做智能路由(十三):網(wǎng)絡(luò)音箱之Android篇

本文作者: 孫冰 2014-06-16 21:48
導(dǎo)語(yǔ):我們繼續(xù)網(wǎng)絡(luò)音箱的專題,這章將介紹安卓系統(tǒng)下的MP標(biāo)準(zhǔn)軟件控制路由器播放音樂(lè)。

(題圖來(lái)自toodaylab.com)

我們繼續(xù)網(wǎng)絡(luò)音箱的專題,這章將介紹安卓系統(tǒng)下的MP標(biāo)準(zhǔn)軟件控制路由器播放音樂(lè)。

什么是MP

MP全稱為音樂(lè)播放進(jìn)程(Music Player Daemon)。它是一個(gè)可定制化功能強(qiáng)大的服務(wù)端播放音樂(lè)軟件,通過(guò)其自身的插件和庫(kù)系統(tǒng)即可完成通過(guò)網(wǎng)絡(luò)控制播放音樂(lè)。MP具備一個(gè)自己的控制管理協(xié)議,這些協(xié)議是基于TCP協(xié)議進(jìn)行傳輸?shù)???蛻舳诉B接到服務(wù)器上控制服務(wù)端進(jìn)行處理。MPD表示服務(wù)端,MPC表示客戶端。

MP是一個(gè)完全開(kāi)放源代碼的整體系統(tǒng),因此有很多操作系統(tǒng)下的客戶端,在安卓手機(jī)中即可使用MPDroid這個(gè)軟件控制服務(wù)端播放,而如果您需要開(kāi)發(fā)自己的產(chǎn)品,完全可以參考官方的資料自己開(kāi)發(fā)一個(gè)控制程序,甚至給服務(wù)端增加新的功能。

使用MP的好處是,只要你的手機(jī)連接到家里的路由器上既可以控制播放音樂(lè),而手機(jī)還隨身攜帶,這樣不影響你掃地啊、煮飯啊等等工作是不是。

MP的官方網(wǎng)站為http://www.musicpd.org/

安裝MPD服務(wù)

首先確保你12章的測(cè)試和操作OK聲卡已經(jīng)正常工作了。

然后開(kāi)始安裝軟件包,我們教程中使用的是mpd-mini該軟件包是mpd的OpenWRT精簡(jiǎn)版完成了主要的功能,而且也比較節(jié)省CPU和內(nèi)存。

root@SmartRouter:/# opkg update
root@SmartRouter:/# opkg install mpd-mini

為MPD準(zhǔn)備文件夾和文件

第一步: 創(chuàng)建必須的文件夾,在這一步,我們選擇使用extdisk作為存儲(chǔ)位置,這樣的好處是上傳到系統(tǒng)的文件可以通過(guò)Windows文件共享等方式實(shí)現(xiàn)。當(dāng)然你也可以開(kāi)發(fā)一個(gè)新的客戶端軟件實(shí)現(xiàn)將手機(jī)的音樂(lè)同步到服務(wù)端上。

創(chuàng)建音樂(lè)文件存放位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music
root@SmartRouter:/# chmod -R 777 /mnt/extdisk/music

創(chuàng)建播放列表存放位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music_playlist
root@SmartRouter:/# chmod -R 777 /mnt/extdisk/music_playlist

創(chuàng)建播放器數(shù)據(jù)位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music_bin
root@SmartRouter:/# chmod -R 755 /mnt/extdisk/music_bin

第二步: 創(chuàng)建初始化的文件,這些文件都是mpd所需要使用的

root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.db
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.log
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.error
root@SmartRouter:/# #touch /mnt/extdisk/music_bin/mpd.pid
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpdstate
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.sql

編寫(xiě)MPD的配置文件

編寫(xiě)配置文件,MPD目前沒(méi)有基于UCI格式的配置文件,需要手工創(chuàng)建一個(gè)/etc/mpd.conf文件。

mpd.conf的配置文件涉及到的參數(shù)有很多,這里我們一一說(shuō)明下:

MPD的基本運(yùn)行參數(shù):

參數(shù) 值 說(shuō)明
music_directory 路徑 音樂(lè)文件的存放文件夾位置
playlist_directory 路徑 音樂(lè)播放列表的存放位置,播放列表可以是在設(shè)備上創(chuàng)建也可以是通過(guò)MPDroid客戶端軟件創(chuàng)建
db_file 文件路徑 MPD的數(shù)據(jù)庫(kù)文件路徑
log_file 文件路徑 MPD的日志文件路徑
pid_file 文件路徑 MPD的進(jìn)程號(hào)文件路徑
state_file 文件路徑 MPD的狀態(tài)文件路徑
sticker_file 文件路徑 MPD管理音樂(lè)動(dòng)態(tài)信息的文件路徑
user 帳號(hào) MPD運(yùn)行時(shí)的Linux身份帳號(hào),默認(rèn)openwrt下只有root
group 分組 MPD運(yùn)行時(shí)的Linux身份帳號(hào),默認(rèn)openwrt下只有root
bind_to_address IP地址 MPD監(jiān)聽(tīng)的IP地址,0.0.0.0表示全部設(shè)備的IP
port 端口 MPD的監(jiān)聽(tīng)端口
log_level 字符串 日志信息輸出的級(jí)別,可以填寫(xiě)default,secure,verbose其中verbose表示顯示全部日志,信息很多
auto_update 字符串 當(dāng)music_directory中的音樂(lè)文件有變化時(shí)候自動(dòng)更新MPD的數(shù)據(jù)庫(kù)。可以填寫(xiě)yes或no
auto_update_depth 數(shù)字 自動(dòng)更新的時(shí)候?qū)ξ募A深度的檢測(cè),隨便寫(xiě)一個(gè)值吧只要是數(shù)字就可以。
audio_buffer_size 數(shù)字 音頻播放時(shí)的緩存大小,默認(rèn)值為2048
buffer_before_play 百分比 音頻播放之前的緩存比例。默認(rèn)值為10%
connection_timeout 數(shù)字 客戶端連接超時(shí),單位秒,默認(rèn)值為60
max_connections 數(shù)字 客戶端最大連接數(shù)量,默認(rèn)值為10
max_playlist_length 數(shù)字 播放列表文件允許的最大長(zhǎng)度,這個(gè)不要弄的太大搞死系統(tǒng)了哦。
max_command_list_size 數(shù)字 最大list指令尺寸,默認(rèn)值為2048
max_output_buffer_size 數(shù)字 最大輸出緩存,默認(rèn)值為8192
filesystem_charset 字符串 文件系統(tǒng)的編碼,如果你的文件是通過(guò)windows網(wǎng)絡(luò)共享上載的這里填寫(xiě)UTF-8即可。
id3v1_encoding 字符串 歌曲的ID3標(biāo)簽名稱編碼,默認(rèn)為"ISO-8859-1"

MPD的輸出設(shè)備output,該設(shè)備配置用來(lái)實(shí)現(xiàn)對(duì)聲卡的支持,格式如下:

audio_output {
參數(shù)內(nèi)容
}

其中的參數(shù)內(nèi)容在我們的開(kāi)發(fā)板上用的上的是對(duì)聲卡配置部分:

參數(shù) 值 說(shuō)明
type 字符串 輸出類型,可選值為: oss,alsa,pulse,pipe,在我們的開(kāi)發(fā)板上為oss
name 字符串 設(shè)備顯示名稱,在MPDroid客戶端軟件上可以顯示出來(lái)。
device 設(shè)備路徑 oss的設(shè)備路徑,默認(rèn)填/dev/sdp
format 字符串 播放格式,默認(rèn)填寫(xiě)為44100:16:2即可,表示44Khz,16位,雙聲道
mixer_type 字符串 混音器類型,我們的開(kāi)發(fā)板默認(rèn)填寫(xiě)"hardware"
mixer_device 設(shè)備路徑 混音器設(shè)備路徑,我們的開(kāi)發(fā)板默認(rèn)填寫(xiě)"/dev/mixer"
mixer_control 字符串 混音器的控制,我們的開(kāi)發(fā)板默認(rèn)填寫(xiě)"PCM"

在這里,我們舉例下配置。

使用VI編輯器創(chuàng)建/etc/mpd.conf配置文件內(nèi)容如下:

music_directory "/mnt/extdisk/music"
playlist_directory "/mnt/extdisk/music_playlist"
db_file "/mnt/extdisk/music_bin/mpd.db"
log_file "/mnt/extdisk/music_bin/mpd.log"
pid_file "/var/run/mpd.pid"
state_file "/mnt/extdisk/music_bin/mpdstate"
sticker_file "/mnt/extdisk/music_bin/mpd.sql"
user "root"
group "root"
bind_to_address "0.0.0.0"
port "6600"
log_level "default"
auto_update "yes"
auto_update_depth "8"
audio_output {
type "oss"
name "mycard"
device "/dev/dsp"
format "44100:16:2"
mixer_type "hardware"
mixer_device "/dev/mixer"
mixer_control "PCM"
}
#audio_buffer_size "2048"
buffer_before_play "10%"
connection_timeout "60"
max_connections "4"
max_playlist_length "1024"
max_command_list_size "2048"
max_output_buffer_size "4096"
filesystem_charset "UTF-8"
id3v1_encoding "ISO-8859-1"

啟動(dòng)進(jìn)程準(zhǔn)備音樂(lè)文件

第一步: 復(fù)制音樂(lè)

你可以把你喜歡的音樂(lè)以文件夾方式存放在/mnt/extdisk/music中,你可以選擇使用windows文件共享方式復(fù)制音樂(lè)文件到系統(tǒng)上來(lái)。

第二步: 修正MPD服務(wù)的默認(rèn)音量

因?yàn)镸PD服務(wù)的默認(rèn)音量參數(shù)寫(xiě)的有問(wèn)題會(huì)導(dǎo)致音量被放大到100%嚇你一跳,所以需要手工方式修正下。
用VI編輯器編輯/etc/init.d/mpd文件:
找到: [ -x /usr/bin/amixer ] && /usr/bin/amixer set PCM 40%
修改為: [ -x /usr/bin/amixer ] && /usr/bin/amixer set PCM 35%

第三步: 設(shè)置啟動(dòng)服務(wù),如果你需要經(jīng)常聽(tīng)音樂(lè),就要將服務(wù)設(shè)置為自動(dòng)開(kāi)啟,或手工開(kāi)啟。

設(shè)置每次設(shè)備自動(dòng)開(kāi)啟(如果不是總聽(tīng),就不用自動(dòng)拉):
root@SmartRouter:/# /etc/init.d/mpd enable

手工開(kāi)啟一下:

root@SmartRouter:/# /etc/init.d/mpd start

安裝安卓MPDroid客戶端

MPDroid是一個(gè)免費(fèi)的安卓系統(tǒng)下客戶端,該客戶端可以實(shí)現(xiàn)大部分播放功能。

第一步: 安裝

進(jìn)入你的安卓市場(chǎng),搜索MPDroid并且下載安裝,如果你的市場(chǎng)中沒(méi)有可以上網(wǎng)上搜索MPDroid下載到手機(jī)中安裝。

第二步: 配置

首次配置首先要你的無(wú)線連接到板子上。打開(kāi)MPDroid軟件后會(huì)顯示要求配置:
a. 選擇WLAN based connection
b. 選擇你當(dāng)前連接上來(lái)的開(kāi)發(fā)板
c. 在Host填寫(xiě)開(kāi)發(fā)板的IP地址
d. 在Port填寫(xiě)MPD的監(jiān)聽(tīng)端口
e. 退出配置返回主界面

第三步: 選擇要播放的音樂(lè)

a. 選擇主界面左下角的音樂(lè)符號(hào),再在屏幕左上角選擇Files顯示可播放音樂(lè)。
b. 屏幕中會(huì)顯示出可播放的音樂(lè)或文件夾,這些都是你上傳到/mnt/extdisk/music下的音樂(lè)文件。
c. 在音樂(lè)文件或文件夾上長(zhǎng)按后會(huì)顯示選項(xiàng):
add 增加到當(dāng)前播放列表
add and replace 增加到當(dāng)前播放列表并且替換掉列表中其他的
add, replace and play 增加到當(dāng)前播放列表,并且替換掉其他的,并且立即播放
add and play 增加播放
add to playlist 增加到一個(gè)列表文件(列表文件,跟當(dāng)前播放列表不是一個(gè)意思,列表文件表示存在路由器上的)
d. 選擇好以后返回主界面,就有音樂(lè)文件了,點(diǎn)擊就可以播放了。還可以調(diào)整音量。

章節(jié)結(jié)尾

MPDroid是一個(gè)安卓下可用的播放器軟件,MPD的協(xié)議也可以完成很多工作,但是畢竟有不完善的地方,首先MPDroid不具備音樂(lè)同步通能,不能將音樂(lè)同步到服務(wù)器上,其次界面是英文的操作比較復(fù)雜,hoowa期望有識(shí)之士能做一個(gè)更完美的客戶端項(xiàng)目。因此如果有愿意做這方面的朋友,請(qǐng)不要吝嗇,加入我們吧。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

分享:
相關(guān)文章

專欄作者

80后程序員,16年IT行業(yè)工作經(jīng)驗(yàn),目前就職于一家智能路由公司。 長(zhǎng)期活躍在智能設(shè)備、VOIP、Perl/Linux領(lǐng)域當(dāng)中,人送綽號(hào):飛云、葫蘆娃、火娃、hoowa。
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)