Come utilizzare il telefono Android 2.1 come ricevitore audio remoto?


21

Ho un telefono Android HTC Hero inutilizzato (con sistema operativo Android 2.1), vorrei collegarlo all'amplificatore audio e lasciarlo collegato per mesi, in modo da poter utilizzare questo telefono Android come server / ricevitore / ricevitore pulseaudio remoto.

C'è un'applicazione "Remote Audio" disponibile su Android Market, che può catturare streaming da / dev / dsp. / dev / dsp è stato disabilitato per errore / qualunque sia la ragione in Ubuntu 10.10 e anche dopo averlo abilitato secondo questo thread - dopo aver seguito queste istruzioni non ha aiutato, quindi quando faccio clic sul pulsante Play / Pause sul mio Android - niente in realtà succede e mpg123 song.mp3 utilizza ancora gli altoparlanti del mio laptop. ultimo | head non mostra nemmeno questo nuovo accesso dell'utente (suppongo che dovrebbe apparire qui?)

Cercando "pulseaudio" ho trovato Airbubble sul mercato Android, ma dice "non funziona con RaopX su MacOS X e il modulo raop per pulseaudio su Linux". (c)

Quindi c'è un modo per usare il telefono Android come ricevitore audio remoto, idealmente non limitato alla riproduzione di mp3 / musica - ma il sottosistema Sound in generale?

Sicuramente non sono l'unico uomo che desidera trasmettere l'audio al telefono Android tramite Wi-Fi per ascoltarlo su altoparlanti adeguati?

Risposte:


13

Penso che tu stia lavorando troppo sull'idea, cercando di far fare al tuo telefono qualcosa che non è mai stato previsto (connettersi a PulseAudio o qualcosa di ancora più basso livello). Fai fare al tuo computer il duro lavoro.

Suggerirei di utilizzare qualcosa come Icecast ( tutorial qui ) e di utilizzare una delle 30 e strane app per Android in grado di trasmetterla in streaming.


Grazie, ma ci sono almeno 2 applicazioni sul mercato Android che dovrebbero risolvere esattamente il mio problema: "audio remoto" e "AirBubble" (che è compatibile con Apple AirportExpress).
user35834

@ user35834: dopo aver impostato un server Icecast sul lato Ubuntu sarai indipendente sul lato ricevitore. Qualsiasi cosa (!) Che può sintonizzarsi su una "Radio Internet" sarà anche in grado di ricevere il tuo stream. Ci sono molti vantaggi aggiuntivi da Icecast rispetto a RAOP.
Takkat,

19

Due giorni fa mi sono imbattuto in questa domanda e non sono riuscito a farlo bene. Alla fine ho letto nel manuale di AirBubble che RAOP non è supportato.

Alla fine l'ho risolto con le funzionalità DLNA / UPnP di pulseaudio. Funziona proprio come ti aspetteresti. Riproduci l'audio con qualsiasi app con uscita pulseaudio sulla tua scatola e seleziona l'uscita in streaming ogni volta che vuoi reindirizzarla sul tuo dispositivo Android.

Innanzitutto, installa Rygel:

$ sudo apt-get install rygel rygel-preferences rygel-gst-launch

Quindi modifica il file /etc/rygel.conf, in modo che la riga con il parametro enable-transcoding sia simile al seguente:

enable-transcoding=false

Quindi caricare i moduli DLNA e TCP e avviare rygel:

$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server 
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel

Sul tuo dispositivo Android scarica l'app BubbleUPnP. I tuoi dispositivi di uscita pulseaudio verranno elencati sotto il server "Suono su% HOSTNAME%". Indirizza l'output sul tuo computer al dispositivo DLNA nelle preferenze audio. Seleziona lo stesso output in BubbleUPnP.

Tieni presente che BubbleUPnP trasmette i primi 30 minuti gratuitamente. La versione completa è di 3,49 €, ma credo valga il prezzo. Non ho avuto nessun'altra app che funzioni per me.

Infine, puoi disabilitare il browser multimediale se non ti piace usando le preferenze di rygel:

$ rygel-preferences

Ancora un avvertimento: questo trasmette direttamente i dati LPCM grezzi, che sono costantemente ~ 250 kB / s. Qualsiasi attività WLAN spuria provocherà la balbuzie se non si utilizza una rete 802.11 n. Se prevedi di basare le tue soluzioni di intrattenimento sullo streaming wireless, prendi in considerazione l'acquisto di un router wireless n.

SEGUI: Transcodifica

Per ridurre l'overhead di rete e la balbuzie (che accadrà a meno che non ci si trovi su una rete 802.11 n), è possibile passare alla transcodifica del flusso audio in mp3.

Incollalo in ~ / .config / rygel.conf

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6

Utilizzare il servizio DLNA "Gst Launch" che ora apparirà all'avvio di rygel.

SEGUI SU 2: FLAC

LAME può causare fino a 2 minuti (!) Di ritardo. D'altra parte, FLAC è piuttosto veloce, normalmente con un clock inferiore a un secondo. Modificare le righe nell'esempio sopra in:

mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8

Ciò riduce il flusso a circa 100 kB / s, consentendo una riproduzione fluida sulla maggior parte delle reti 802.11g con più utenti. L'ho provato durante il download di un torrent. A tutta velocità, si è verificata una certa balbuzie, ma quando ho limitato la velocità di download a circa 200 kB / s al di sotto della mia larghezza di banda massima, è stata nuovamente fluida.

Inoltre, hai eliminato qualsiasi perdita di qualità.


Un paio di problemi su quanto sopra - controlla ~/.config/rygel.confinvece e modifica , /etc/.config/rygel.confse non è caricato di default (?).

La creazione del sink non funzionerà su versioni successive di Ubuntu.

Ciò che ha funzionato per me, tuttavia, è seguire tutte le istruzioni (senza la creazione del lavandino). Quindi esegui paprefse nella scheda "Server di rete", seleziona l'opzione in basso "Rendi i dispositivi audio locali disponibili come server uPnP" (e forse è richiesta anche l'opzione secondaria).

Avviare rygel e selezionare la nuova opzione "Streaming DLNA / UPnP" nelle impostazioni di PulseAudio.

Su BubbleUPnP seleziona "Gst Launch" come Libreria. Nell'app, seleziona Libreria e ora dovrebbe esserci un'opzione in alto chiamata "Audio attivo".


3
Per il poster sull'uso di rygel: l'approccio sembra valido ma module-null-sink non accetta questi argomenti nella versione 11.10. Devi indicare un altro modulo ma non riesco ancora a individuarlo. Buona idea, per favore aiutatemi correggendo.

Dopo l'esecuzione pactl load-module module-null-sink sink_name=upnp......, ottengo questo errore: Failure: Module initalization failed. Qualche idea?
Khurshid Alam,

@KhurshidAlam: prova il mio approccio, non ha modifiche al testo e si basa solo sull'installazione di un Wine funzionante.
Janus Troelsen,

@JanusTroelsen: Mentre il tuo approccio funziona, vorrei sottolineare che prima si tentano altri metodi. Il vino è un grande progetto, ma dovrebbe essere usato solo come ultima risorsa. Non è affidabile.
Toasty l'

1

Shairplay non supporta TCP e raop_play (penso che pulseaudio-module-raop sia basato su questo) non supporta UDP. Perché raop sia solo TCP è strano, UDP sembra un protocollo più semplice e più adatto di fronte.

E se la tua fonte è flac, icecast via MP3 sta per uccidere la qualità, inoltre è più un maiale della CPU. MPD supporta nativamente l'uscita pulseaudio in modo da poter "accendere e spegnere" diverse stanze della casa usando ad esempio un telefono Android con l'app mpdroid. Se potessi usare i dock airplay come endpoint avresti una configurazione fantastica. Ma non puoi cos raop non supporta gli endpoint UDP più semplici!


1

Potresti voler guardare fuori dalla comunità Pulseaudio.

Sto provando Subsonic per farlo. Finora ha funzionato bene. L'ho installato sul mio sistema Ubuntu, sul mio salotto Roku, sui miei telefoni Android primari e sul mio telefono Android secondario che è solo wifi. Tutti questi dispositivi sono collegati tramite wifi. Sto programmando di installarlo anche su un computer Windows, in modo che mia moglie possa trasmettere la sua collezione iTunes su altri dispositivi.

Ora posso trasmettere audio e video dal mio sistema Ubuntu al mio Roku in salotto o al mio Android che posso portare in cucina o mentre piego la biancheria. Posso anche trasmettere in streaming da qualsiasi computer che ha un browser web. Trasmetto in streaming musica e podcast mentre lavoro a lunghi e noiosi progetti di manutenzione della casa.

Finora ha funzionato bene.


0

È possibile utilizzare Foobar2000 sul server e BubbleUPnP (payware) sul client.

  1. prendi vino
  2. ottenere foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. il prossimo, il prossimo, il prossimo ... :)
  5. get foo_upnp
  6. estrarre nella cartella componenti di foobar2000 (che probabilmente si trova in ~/.wine/drive_c/Program Files/)
  7. lanciare foobar2000
  8. vai a Libreria → Configura → Riproduzione → Uscita → Dispositivo e seleziona "Uscita nulla"
  9. assicurarsi che ufwnon stia bloccando il traffico rilevante
  10. in BubbleUPnP:
    1. vai su Dispositivi → Librerie e seleziona il server foobar2000
    2. in "Libreria", seleziona "Playback Stream Capture"

Questo approccio ha il vantaggio che se ti fermi su Android, accumulerà un buffer (poiché il server sta ancora inviando).

Testato su Ubuntu (versione Wine 1.5.28-0ubuntu1~ppa1, foobar2000 versione 1.2.5 e foo_upnp versione 0.99.46) e Windows.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.