玩转Openwrt(二) — 配合Android手机打造无线音乐播放器


前一篇文章大概介绍了刷入带ADSL驱动的openwrt以及简单的配置,这次就总结下一个好玩的应用,使用android手机+mpd打造一台无线音乐播放器。

所需装备:

  • DB120或者RG100A或者其它BCM6358芯片的路由一台
  • USB声卡一件(我手里的两个声卡都能很好的工作,一个是steelseries 5HV2,一个是北蓝鼠 USB声卡 7.1声卡,就这两个的音质来说更加倾向于steelseries 5HV2)
  • USB2.0的移动硬盘或者U盘一个
  • 运行android系统的手机或者平板

 

首先要保证路由器已经刷入了openwrt,并且已经能正常上网

安装USB、文件系统的内核模块

opkg update
opkg install kmod-usb-core
opkg install kmod-usb-storage
opkg install kmod-usb-ohci
opkg install kmod-usb-ohci
opkg install kmod-fs-ext2
opkg install kmod-fs-ext3
opkg install kmod-fs-vfat
opkg install kmod-fuse
opkg install ntfs-3g

配置自动挂载USB存储设备

安装mount工具

opkg install mount-utils

编辑配置文件

vi /etc/hotplug.d/block/10-mount
#!/bin/sh

# Copyright (C) 2009 OpenWrt.org (C) 2010 OpenWrt.org.cn

blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then

device=`basename $DEVPATH`
case “$ACTION” in
add)
mkdir -p /mnt/$device
# vfat & ntfs-3g check
if [ `which fdisk` ]; then
isntfs=`fdisk -l | grep $device | grep NTFS`
isvfat=`fdisk -l | grep $device | grep FAT`
isfuse=`lsmod | grep fuse`
isntfs3g=`which ntfs-3g`
else
isntfs=”"
isvfat=”"
fi

# mount with ntfs-3g if possible, else with default mount
if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
ntfs-3g -o nls=utf8 /dev/$device /mnt/$device
elif [ "$isvfat" ]; then
mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
else
mount /dev/$device /mnt/$device
fi
if [ -f /dev/${device}/swapfile ]; then
mkswap /dev/${device}/swapfile
swapon /dev/${device}/swapfile
fi
;;
remove)
if [ -f /dev/${device}/swapfile ]; then
swapoff /dev/${device}/swapfile
fi
umount /dev/$device
;;
esac

fi

修改可执行权限

chmod 777 /etc/hotplug.d/block/10-mount

配置USB声卡

安装声卡内核模块

opkg install kmod-input-core
opkg install kmod-soundcore
opkg install kmod-usb-audio

然后查看/dev下是否有dsp、audio、mixer
测试声卡是否工作正常,声卡与音箱连接并且插入含有MP3文件的USB存储设备
这里假设usb设备挂载路径为/mnt/sdb1

opkg install madplay
madplay /mnt/sba1/*.mp3

如正常发声则表示声卡驱动成功

安装配置MPD

opkg install mdnsresponder
opkg install libspeex
opkg install mpd

编辑mpd配置文件
vi /etc/mpd.conf
修改为:

#=== edit options as follows ===
music_directory “/mnt/sdb1″
playlist_directory “/mnt/sdb1/.mpd/playlist”
db_file “/mnt/sdb1/.mpd/mpd.db”
log_file “/mnt/sdb1/.mpd/mpd.log”
error_file “/mnt/sdb1/.mpd/mpd.error”
pid_file “/mnt/sdb1/.mpd/mpd.pid”
state_file “/mnt/sdb1/.mpd/mpdstate”

# use this if you want to use OSS audio output
audio_output {
type “oss
name “my OSS sound card”
device “/dev/dsp” # optional
format “44100:16:2″ #optional
}

# OSS Mixer
mixer_type “oss
mixer_device “/dev/mixer”
mixer_control “PCM”

#=== edit end ===

建立mpd所需目录与文件

mkdir -p /mnt/sdb1/.mpd/playlist
touch /mnt/sdb1/.mpd/{mpd.db,mpd.log,mpd.error,mpd.pid,mpdstate}

运行mpd

/usr/bin/mpd –create-db

安装mpc控制播放

opkg install mpc
mpc listall | mpc add
mpc play

用手机控制播放

手机连接路由器,在android电子市场里搜索 MPDroid 并安装
运行MPDroid,在WLAN based connection里选择连接无线路由的essid
在Host选项里填入路由器的IP地址,其它则默认,然后返回到主界面
此时即可用手机无线控制路由器的播放、暂停以及其它操作

你可能感兴趣的:(android,File,音乐,手机,audio,路由器)