admin 管理员组

文章数量: 1184232


2024年4月12日发(作者:php删代码跑路程序)

在安卓手机上安装linux系统并解决音频输出难题

技术需求:

旧的android手机扔了污染环境,不如让其变身为万能的电子词典。首先,使用linux

deploy安装debian系统。然后,安装goldendict软件,并添加词典文件。我用到的词

典文件有:longman5、韦氏词典11、牛津高阶学生词典8、牛津搭配词典、牛津同义词

词典、GRE黑(蓝、红)宝书、现代汉语词典、高级汉语大辞典等。这些词典包含发音例

句、同义词、反义词、词源、单词的背景文化、常用搭配、近义词辨析等,基本满足学习

和教学的需求。问题是词典不能发音,这严重影响英语学习。

解决思路:

使用mplayer播放器播放词典音频,将音频流通过PulseAudio的TCP协议模块传输,

安卓手机使用Simple Protocol Player播放器接收音频流并播放声音。

操作步骤:

1、使用linux deploy安装debian系统并完善系统配置,解决汉字乱码或者不能显

示的问题。

2、安装goldendict、mplayer播放器软件,下载添加词典文件。设置

edit/preferences/advanced/articles,选择:expand optional parts。这样就可以查看

例句。将音频播放器修改为:mplayer。解决音频不能播放的问题。

3、将音频流通过网络发送给安卓手机并播放声音。

先安装pulseaudio:sudo apt-get install pulseaudio

再安装pavucontrol. 这是pulseaudio音频服务的音量控制工具(mixer)。

启动pulseaudio:pulseaudio -- start

这时音量调节旋钮应该是可以使用的。如果用户不能启动pulseaudio,则出现连接音

频服务失败,可能是多用户引起的。

查看音频输出设备的序号:sudo pactl list sources short

记住设备名字最左侧的序号。

编辑配置文件,使之加载模块module-simple-protocol-tcp。以root的身份编辑

/etc/pulse/,在其后面添加一行:load-module module-simple-protocol-tcp

source=0 record=true port=12345.这里source=0指的是设备序号(刚刚记住的),

port=12345是自己设置的端口号,只要不与其他端口冲突就可以。

重启pulseaudio:

pulseaudio -k

pulseaudio --start

音频发送端设置完毕。

安卓手机安装Simple Protocol Player,设置IP地址和端口。IP地址通过SSH软件

(如:JuiceSSH)查看,输入:sodu ifconfig

在wlan0里inet就是本机地址。端口是刚刚自己设置的12345.

播放一个音频,这时就可以听到声音了。

技术缺陷:

网络依赖性。没有网络没法传输音频流。

延迟和卡顿。音频延迟问题不大,但是因为依赖网络,在播放过程中有卡顿现象。

未解决问题:

启动pulseaudio失败。在多用户条件下,有且只有一个用户能够启动pulseaudio,

其他的用户均不能使用pulseaudio,这可能是一个bug。


本文标签: 音频 词典 播放 网络 播放器