Answers:
有一个非常简单的解决方案,因为PulseAudio已经拥有所有必需的工具。
pactl list | grep Name
创建以下脚本,名为pashare
:
#!/bin/sh
case "$1" in
start)
$0 stop
pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=<source_name_here> record=true port=8000
;;
stop)
pactl unload-module `pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g'`
;;
*)
echo "Usage: $0 start|stop" >&2
;;
esac
进行一些检查和准备工作(以允许执行脚本并检查端口是否成功打开):
chmod 755 pashare
./pashare start
netstat -nlt | grep 8000
telnet 127.0.0.1 8000
下载并安装PulseDroid.apk
8000
。PS您也可以 在Wiki页面上获取有关Pulseaudio网络流的常规信息,以及在Wiki页面上了解RTP流的信息。不要期望通过WiFi流原始音频太多。它需要大量的带宽。即使使用具有强大信号的高端无线路由器/ AP,我也无法获得更多的音频抑制效果。最好的选择可能是设置适当的媒体服务器(例如Rygel,与Pulseaudio配合使用),以将原始音频转码为MP3之类的内容并将其流式传输。
pactl list sources short
最好找到source参数的编号。
pactl list | grep "Monitor Source"
显示了更多与我相关的资源。
您可以使用VLC通过HTTP为Pulseaudio的输出提供MP3流。
主要优点是您不需要在远程设备上安装任何特殊软件,只需要Web浏览器(或音乐播放器)即可播放流。缺点是仅音频,几秒钟的延迟使它对视频无用
使用以下命令查找pulseaudio的输出名称:
pactl list | grep "Monitor Source"
启动VLC http服务器,用您的输出名称替换XXXX:
cvlc -vvv pulse://XXXX --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
如果需要,请使用以下命令找到您的本地IP地址 ifconfig
在您的远程设备上,将浏览器(或音频流应用程序)指向:
http://your.local.ip.address:8888/pc.mp3
注意:除非完全将其静音,否则流不受服务器上设置的音量的影响。如果需要,您可以将电平保持在0以上一点,只听到远程设备的声音。
前两个步骤由polynomial_donut组合为一个:
cvlc -vvv pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
cvlc -vvv pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
要将通过wifi的音频输出流传输到android手机,您需要在PC上安装服务器软件,该软件发送音频,并在Android设备上安装客户端软件。可用的选项是
运行WiFi Audio Android App并按Start,在运行Windows / Linux应用程序之后,您将在底部看到移动设备的IP地址,并将移动设备的IP地址放入IP地址字段,然后在PC应用程序上按Start。现在,所有来自PC的音频都将发送到移动设备,您将在移动设备上听到音频。
下载
将任何音乐或音频从PC无线传输到Android手机,平板电脑或其他PC
主页 另请参阅
其他有用的链接
XBMC android SE
对于那些使用Soundwire并从笔记本电脑或PC发送wifi的用户,请使用ifconfig确保使用正确的IP地址。直到今天仍然有效,但是大多数Linux发行版都需要第二个wifi适配器才能发出wifi,而您必须使用将Android连接到的适配器。不是一个接收互联网的人。一个发送出去。
即->如果您使用的是“ A” WiFi适配器连接到Internet,使用“ B”从“ A”发送wifi,则将Android上的SoundWire连接到“ B”而不是“ A”。
如果您连接到不发送wifi的适配器,SoundWire将不会连接或传输,因此请相应地使用terminal命令ifconfig将IP地址输入到您的Andoroid应用程序中。
是的,确实存在滞后,但是此应用SoundLine是最简单的“多重连接到IP并忘记”系统。没有疯狂的菜单。是的,它确实接受多个连接。前几天我用了2。它在发送传输的设备的主窗口中附加与其连接的设备数。
到目前为止,我个人将其用作我的地方的多房间/短距离wifi广播系统。
请享用。
哇,这太老了...
无论如何,请使用VLC。一路漂亮的GUI。
在您的Android设备上启动VLC。点击搜索按钮旁边的图标(指向点的箭头)。键入http://<IP ADDRESS O OF THE MACHINE RUNNING VLC>:8080/
对我来说,这是http://xxx.ca:8080/
经过测试和工作。现在,可以在13年6月9日的古代做到这一点吗?也许可以,但是我懒得检查VLC的提交日志;)