Tento příspěvek je 3. částí série MPD

MPD a Android

Jak jsem již uvedl v počátku seriálu, server nemusíme ovládat pouze konvenčními prostředky, programy na stejných nebo jiných PC. Jako alternativa k ostatním klientům se může třeba hodit i ovládání nebo přehrávání na mobilním zařízení. Vyzkoušel jsem prvního klienta který mě cvrnkl do nosu v marketu, a fungoval velice dobře. I když pravda později jsem ho vyměnil za jiný, který byl ještě o kousek lepší.

Droid MPD Client *

Po instalaci z marketu je třeba nastavit dvě věci. Jednak musíme připravit MPD na to, že se na něj bude připojovat nějaký síťový klient. Doposud jsme se k MPD připojovali pouze místně, na localhost na jednom PC. Nyní změníme hodnotu bind_to_address v konfiguračním souboru a nastavíme její hodnotu na IP stroje na kterém běží server. Pokud není potřeba měnit TCP port na kterém bude MPD poslouchat necháme ho klidně zakomentovaný, jelikož se stejně použije výchozí 6600.

bind_to_address     "192.168.1.200"

 

To na serveru prozatím stačí a můžeme rovnou restartovat MPD.

$sudo /etc/init.d/mpd restart

Druhou věc kterou teď musíme nastavit je klient na přenosném zařízení, tam nastavíme IP serveru … a to je vše, port je zase výchozí a pokud jsme nenastavovali heslo, je to vše co je potřeba udělat. Po připojení k serveru MPD se rozsvítí zelená “LEDka” na spodní liště a tím je klient k serveru připojen a je nyní možné server začít ovládat.

and1import

 

Ihned můžeme prohlížet knihovnu, neboli databázi skladeb, třeba podle interpretů …

and2datab

 

… nebo podle názvu alba. Samozřejmostí je vyhledávání nebo změny playlistu jako v jiných klientech.

and3databalb

 

Aktuální playlist se zapnutým náhodným přehrávání a opakování vypadá takto …

and4playlist

 

… a ovládání hlasitosti je řešeno poněkud netradičně po vysunutí spodní lišty nahoru a poté točením ovládacího knoflíku. Efektivita je tak střídána efektností, ale dá se to přežít.

and5volume

 

Bohužel jsem u tohoto klienta neobjevil možnost přijímat hudební stream a tak bych musel použít pro jeho přehrávání jiný hudební přehrávač, což se mi ale nelíbí a tak jsem odlovil na marketu jiného klienta.

 

MPDroid *

Ten umí ještě k dálkovému ovládání přidat přehrávání http streamu a to je přesně co budeme potřebovat. Ovšem, k tomuto použití musíme trochu zase poladit konfigurační soubor serveru MPD.

V první řadě je třeba nyní už manuálně nastavit oba zvukové výstupy, abychom mezi nimi mohli přepínat. V původním návodu jsme totiž ponechali MPD na autodetekci. Takže k volbám které tam již máme nastaveny, přidáme tyto. Najdete je v konfiguračním souboru již přednastaveny, takže obvykle stačí je jen odkomentovat.

audio_output {
 type          "alsa"
 name          "My ALSA Device"
 }
audio_output {
 type          "httpd"
 name          "My HTTP Stream"
 encoder       "vorbis"
 port          "8000"
 bitrate       "128"
 format        "44100:16:1"
 max_clients   "0"
 }

 

První audio výstup nastavte pochopitelně podle svého použitého zvukového subsystému. Já používám alsu a proto toto nastavení. Druhý audio výstup je nastavení datového streamu. Enkodér lze použít vorbis nebo lame. Port je jasný, pokud nevyhovuje výchozí, zvolte si svůj, předpokládám že i datový bitrate je každému posluchači hudby znám. Format ve třech dvojtečkami oddělených číslech je vzorkovací frekvence 44100Hz (CD kvalita), 16 bitů na vzorek a nakonec počet kanálů, kdy dva jsou stereo a jeden mono. Max_client je nastavený nulou na neomezený počet klientů, takže nastavte vyšší číslo pokud chcete počet omezit.

Vždy po nastavení konfiguračního souboru nezapomeňte pro znovunačtení konfigurace znovu spustit démona MPD příkazem

$sudo /etc/init.d/mpd restart

To bychom měli nastavený server a teď se vrhneme na nastavení androidího klienta MPDroid. V první volbě je možné si vybrat konfiguraci závislé na připojenému AP se jménem WLAN based connection. To je sladká fíčura, a je tak možné si udělat pro různá umístění různé konfigurace. Nám bude nyní na ukázku stačit druhá volba Default connection settings.

and11nast

 

Nastavte Host na adresu serveru a Streaming host také ma stejnou IP, takže v mém ukázkovém případě to je 192.168.1.200. Výchozí porty jsou oba již nastaveny a není ve výchozím nastavení MPD serveru potřeba zde nic měnit. Nyní se již klient, pokud máme vše dobře nastaveno, připojí a lze přehrávač ovládat.

and12nast2

 

Oproti minulému androidímu klientovi je sice ovladač hlasitosti méně efektní, zato je ale hned při ruce a neobtěžuje vysouvání lišty.

and13play

 

Další funkce přehrávače, získáte přes levé tlačítko (menu), kterým se můžeme přepnout do hudební knihovny.

and13playmenu

 

Hudební knihovna je zde podobně členěna jako v jiných klientech, je zde seznam podle Interpretů …

and14datab

 

…nebo podle alb, případně skladeb.

and15datab2

 

Playlist je zde řešen poněkud skromněji než v předchozím programu …

and16playlist

 

… a změny v playlistu se provádí opět přes tlačítko menu.

and17playlistmenu

 

Chceme-li nejen dálkově ovládat, ale i na Androidu poslouchat, přejděte z hlavní obrazovky do Settings -> Outputs. Zde se zobrazí zvukové výstupy , které jsme nakonfigurovali v MPD serveru. Vypněte Alsu, tím přestane hrát MPD server a zapněte http stream. Tím server začne na portu 8000 sdílet hudební stream.

and20stream

 

Pak z hlavní obrazovky přes menu zapněte Streaming.

and19playmenu

 

Z Androida se tím stane zvukový výstup MPD serveru a po chvíli bufrování začne přehrávat.

and21streambuf

 

Je klidně možné použít zvukové výstupy oba, což serveru, jak jsem zjistil, nedělalo žádný problém.

and22streamoba

 

Závěr *

Podobné principy jako zde předvedené na androidím klientovi budou fungovat i na jiných klientech. Tato ukázka by měla stačit jako příklad a připojení jiných klientů by nemělo s dobře nakonfigurovaným serverem činit žádné potíže. Pokud klient nemá vlastní přehrávač http streamu, lze použít libovolný přehrávač, který ho přehrát umí. Nebo je možné použít jiný typ streamování Icecast.

Například lze použít Mplayer. Pro naší příkladovou IP použijete tento příkaz.

$mplayer http://192.168.1.200:8000

ale třeba pro připojení MPC z jiného stroje lze použít jen přidání streamu do playlistu.

$mpc add http://192.168.1.200:8000

 

Luděk Melichar