
我想透過網路 (Wi-Fi) 將音訊輸出串流傳輸到我的 Android 裝置。我並不是在尋找音樂/視訊串流解決方案,但我會將 GNU/Linux 桌面的任何音訊輸出串流傳輸到我的 Android 設備,就像藍牙耳機一樣。
我的GNU/Linux 桌面是Debian Wheezy,聲音由pulseaudio 提供。
我嘗試過Pulseaudio 的raop 模組(並在paprefs 上啟用它)+ Android 的AirBuddle 應用程序,但音訊沒有串流(pulseaudio 看到連接到AirBuddle,但聲音沒有再現,在某些軟體中存在連接失敗,在某些情況下)其他軟體聲音卡住)。
答案1
有一個非常簡單的解決方案,因為 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
- 在手機上啟動應用程式;將 IP 位址設定為您的電腦並將連接埠設定為
8000
。
PS您還可以檢查 這個維基頁面有關 Pulseaudio 網路串流媒體的一般信息,以及這個維基頁面關於 RTP 流。不要對透過 WiFi 傳輸原始音訊抱有太大期望;它需要大量的頻寬。即使使用具有強大訊號的高階無線路由器/AP,我也只能從其中獲得斷斷續續的音訊。您最好的選擇可能是設定適當的媒體伺服器(例如 Rygel,它與 Pulseaudio 配合良好)將原始音訊轉碼為 MP3 之類的內容並進行串流傳輸。
答案2
您可以使用可見光通信透過HTTP 提供pulseaudio 輸出的MP3 流。
主要優點是您不需要在遠端設備上安裝任何特殊軟體,只需一個網頁瀏覽器(或音樂播放器)即可播放串流。缺點是它只是音頻,幾秒鐘的延遲使其對視頻毫無用處
使用以下指令尋找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 以上一點點,以便僅聽到遠端設備的聲音。
前兩個步驟合而為一多項式_甜甜圈:
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}'
答案3
答案4
對於使用 Soundwire 並從筆記型電腦或 PC 發送 wifi 的用戶,請使用 ifconfig 確保使用正確的 IP 位址。這種方法至今仍然有效,但大多數 Linux 發行版都需要第二個 wifi 適配器來發送 wifi,並且您必須使用 Android 所連接的適配器。不是接收網路的人。發送出去的人。
即 -> 如果您使用“A”wifi 適配器連接到互聯網,使用“B”從“A”發送 wifi,則將 Android 上的 SoundWire 連接到“B”而不是“A”。
如果您連接到不發送 wifi 的適配器,SoundWire 將無法連接或進行串流傳輸,因此請相應地使用終端命令 ifconfig 將您的 IP 位址輸入到您的 Android 應用程式中。
是的,有延遲,但這個應用程式 SoundWire 是最簡單的「多重連接到 ip 並忘記」系統。沒有瘋狂的菜單可供瀏覽。是的,它確實接受多個連接。我前幾天用了2個。它將在發送傳輸的裝置的主視窗中附加與其連接的裝置數量。
至今我還在我家將其用作多房間/短距離 WiFi 無線電系統。
享受。