Come utilizzare il telefono Android 2.1 come ricevitore audio remoto?

21

Ho un telefono Android HTC Hero non utilizzato (con sistema operativo Android 2.1), vorrei collegarlo all'amplificatore audio e lasciarlo collegato per mesi, quindi potrei usare questo telefono Android come server / ricevitore pulseaudio remoto / ecc.

È disponibile l'applicazione "Remote Audio" su Android Market, che può acquisire stream da / dev / dsp. / dev / dsp è stato disabilitato per errore / qualunque ragione in ubuntu 10.10 e anche dopo che ho abilitato come per questo thread - dopo aver seguito queste istruzioni non ha aiutato, quindi quando faccio clic sul pulsante Play / Pause sul mio Android - non succede nulla e mpg123 song.mp3 usa ancora i miei altoparlanti per laptop. ultimo | testa anche non mostra questo nuovo utente che accede (suppongo che dovrebbe apparire qui?)

Ricerca per "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 utilizzare 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 via wi-fi per ascoltarlo su altoparlanti appropriati?

    
posta user35834 29.11.2011 - 03:28

5 risposte

13

Penso che tu stia superando l'idea, cercando di far fare al tuo telefono qualcosa che non avrebbe mai dovuto fare (connettersi a PulseAudio o qualcosa di ancora più di basso livello). Fai fare al tuo computer il duro lavoro.

Suggerirei di andare con qualcosa come Icecast ( tutorial qui ) e l'utilizzo di una delle 30-dispari app per Android che possono eseguire lo streaming.

    
risposta data Oli 29.11.2011 - 03:35
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.

L'ho finalmente risolto con le funzionalità DLNA / UPnP di pulseaudio. Funziona proprio come ti aspetteresti. Suoni con qualsiasi app con uscita pulseaudio sulla tua confezione e seleziona l'output in streaming ogni volta che desideri reindirizzarlo 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 linea con il parametro enable-transcoding assomigli a questa:

enable-transcoding=false

Quindi carica i moduli DLNA e TCP e avvia 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 dispositivi di output di pulseaudio saranno elencati sotto il server "Suono% HOSTNAME%". Indirizza l'output sul tuo computer al dispositivo DLNA in base alle preferenze audio. Seleziona lo stesso output in BubbleUPnP.

Ricorda che BubbleUPnP trasmette gratuitamente i primi 30 minuti. La versione completa è di 3,49 €, ma credo che valga il prezzo. Non ho ricevuto altre app per me.

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

$ rygel-preferences

Un altro heads-up: questo trasmette direttamente dati LPCM grezzi, che è costantemente ~ 250 kB / s. Qualsiasi attività spuria WLAN indurrà a balbettare se si sta su qualsiasi cosa, ma su una rete 802.11 n. Se intendi basare le tue soluzioni di intrattenimento sullo streaming wireless, considera l'acquisto di un router wireless n.

FOLLOW UP: TRANSCODING

Per ridurre il sovraccarico e la balbuzie della rete (cosa che succederà se non si è su una rete 802.11 n), è possibile passare alla transcodifica del flusso audio in mp3.

Incolla questo in ~ / .config / rygel.conf

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

Utilizza il servizio DLNA "Gst Launch" che verrà visualizzato all'avvio di rygel.

FOLLOW UP 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. Cambia le linee nell'esempio sopra per:

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

Questo riduce lo stream 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à, c'era un po 'di balbuzie, ma quando ho limitato la velocità di download a circa 200 kB / s al di sotto della mia larghezza di banda massima, era di nuovo liscia.

Inoltre, hai eliminato qualsiasi perdita di qualità.

Coppia di problemi sopra - controlla e modifica ~/.config/rygel.conf invece, /etc/.config/rygel.conf se 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 sink). Esegui quindi paprefs e, nella scheda "Server di rete", seleziona l'opzione in basso "Crea dispositivi audio locali disponibili come server uPnP" (e forse anche la sotto opzione è richiesta).

Avvia rygel e seleziona la nuova opzione "DLNA / UPnP Streaming" nelle impostazioni PulseAudio.

Su BubbleUPnP seleziona "Gst Launch" come libreria. Nell'app, seleziona Libreria e ora dovrebbe esserci un'opzione nella parte superiore chiamata "Sound on".

    
risposta data Karol Trojanowski 30.01.2012 - 15:59
1

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

E se la fonte è flac, allora icecast via MP3 sta per uccidere la qualità, in più è più di un maiale della CPU. MPD supporta nativamente l'output di pulseaudio in modo da poter "accendere e spegnere" stanze diverse della casa usando, ad es. un telefono Android con l'app mpdroid. Se tu potessi usare i banchi di airplay come endpoint avresti un setup fantastico. Ma non è possibile che cos Raop non supporti gli endpoint UDP più semplici!

    
risposta data Stephen 07.12.2011 - 22:07
1

Potresti voler guardare fuori dalla comunità di Pulseaudio.

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

Ora posso trasmettere audio e video dal mio sistema Ubuntu al mio Roku nel salotto, o al mio Android che posso portare in cucina o mentre ripiego il bucato. Posso anche eseguire lo streaming da qualsiasi computer che abbia un browser web. Trasmetto musica e podcast mentre lavoro su lunghi e noiosi progetti di manutenzione della casa.

Finora ha funzionato bene.

    
risposta data Stefan Lasiewski 30.01.2012 - 21:05
0

Puoi utilizzare Foobar2000 sul server e BubbleUPnP (payware ) sul client.

  1. ottieni Wine
  2. ottieni foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. prossimo, successivo, successivo ...:)
  5. ottieni foo_upnp
  6. estrai nella cartella componenti di foobar2000 (che probabilmente è in ~/.wine/drive_c/Program Files/ )
  7. avvia foobar2000
  8. vai su Libreria → Configura → Riproduzione → Output → Dispositivo e seleziona "Uscita nullo"
  9. assicurati che ufw non stia bloccando il traffico pertinente
  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.

    
risposta data Janus Troelsen 03.05.2013 - 21:58

Leggi altre domande sui tag