您的位置:首页 > 移动开发 > Android开发

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

2012-02-23 15:57 495 查看
前一篇文章大概介绍了刷入带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地址,其它则默认,然后返回到主界面

此时即可用手机无线控制路由器的播放、暂停以及其它操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: