Skip to content

So I joined the bandwagon and bought a tablet

So this week I bought a cheap Android tablet, specifically to allow me to read books upon the move and listen to music at home.

Currently my desktop PC has a bunch of music on it, and I listen to it locally only. In my living room I have an iPOD in a dock which has identical contents.

In my bedroom? No music. This was something I wished to change.

The music on my desktop is played via mpd, and I use the sonata client to play it. I figured I could use this for my tablet, as MPD is all about remote control and similar stuff.

Unfortunately things didn't prove so easy. I found several android applications that would let me connect to my MPD server and control it, but despite several of them claiming to support streaming I couldn't make music appear upon my local tablet. (I rebuilt MPD with the lame encoder available, and used that too, to no avail).

Still if you have music in a central location and you wish to control it then the setup is trivial. (Though there is one caveat with MPD and streaming, my understanding is that you can only stream what you're playing. You cannot configure MPD to stream music and not also play it locally..)

So although it was neat to be able to control the music on my desktop host it wasn't what I wanted. Instead I had to install mediatomb to my desktop to serve the media, and use the 2player application to browse and play it.

Once I'd configured mediatomb all my music was available to my tablet. Result. Unfortunately 2player didn't play my movies, for that purposes I needed to use bubbleupnp. But that was a trivial install too.

So? End result. I have a toy tablet for <£100 which will stream my music to the bedroom.

ObQuote: "How about this: I work for you; in exchange, you teach me how to clean. " - Léon

Comments On This Entry

  1. [author] Steve Kemp

    OK I've removed mediatomb and replaced it with minidlna, after reading this guide - it works fine with 2player.

  2. [gravitar] Dave Davenport

    You can enable/disable MPD outputs at runtime. So you can easily disable local playback from the tablet.

    MPD Can playback only to a stream, older versions had some issues with this, current release is fine.

    So far streaming from MPD to tablet has worked for me (with build-in httpd with mp3 encoding).

  3. [gravitar] lachlan

    I came to tell you about minidlna. ;) 2player looks quite good though, especially when used just for music.

    I use minidlna for video streaming mostly so the Android program I use is upnplay.

  4. [author] Steve Kemp

    Ahh yes, I'd notice I could disable outputs - thanks. That would allow me to stream and not play on the computers speakers (well if streaming worked!)

    I've already upgraded to the MPD version from Wheezy, but sadly the streaming (with built-in "httpd") fails for me. I see "buffering" on my android client, but nothing ever happens.

    Not the end of the world, given that I got minidlna working, but it would definitely be nicer to have only a single deamon running rather than two.

  5. [gravitar] Dave Davenport

    I will try it again when I get home.. What MPD client did you use on the tablet?

  6. [author] Steve Kemp

    I was using MPDroid.

  7. [gravitar] Joshua Honeycutt

    I had better luck running forked-daapd and DAAP Media Player on android. There are probably better clients, but I didn't look much as my phone's speakers aren't much fun.

    Streaming generally worked ok, but sometimes when changing songs quickly I would have to reconnect to the stream.

    I still run minidlna for videos and use mpd as a remote controlled player.

  8. [author] Steve Kemp

    This is for my own notes, mostly. I'm using MPDroid v0.7. I tried the prerelease of 1.0 with no change.

    My MPD is version 0.16.7, which I backported from wheezy, and has the following configuration file:

    audio_output {
            type            "httpd"
            host "192.168.0.10"
            name            "HTTP Stream"
            encoder         "vorbis"        
            port            "9000"
            quality         "2.0"
            format          "44100:16:2"
            max_clients "3"
    }
    

    Using that I can successfully play a stream using mplayer:

    $ mplayer http://192.168.0.10:9000/
    

    This convinces me that the streaming-side of the equation is correct. Toggling the "stream" option in mpdroid results in the display of the message "buffering", but no sound. (I checked the volume control was set "up"!)

    Using tcpdump I can see that the tablet is receiving data:

    ~$ sudo tcpdump -i eth0 "port 9000"
    

    So the conclusion is that MPDroid's streaming is broken, or I'm an idiot. (Tried using encoder=lame too, to no avail. No errors logged in mpd.log)

  9. [gravitar] foo

    How about installing Debian on your tablet? Is it possible?

  10. [gravitar] Dave Davenport

    For me it worked out of the box, just tried.
    I let GMPC autompd plugin start MPD + http output, disabled firewall.

    mpd 0.16.5 (ubuntu version)

    latest MPDroid (just grabbed from market) on my asus transformer (original)

    conf:
    # HTTP mp3audio output
    audio_output {
    type "httpd"
    name "AutoMPD httpd-mp3 device"
    encoder "lame"
    port "8000"
    bitrate "128"
    format "44100:16:2"
    }

    buffering took 5 seconds.

  11. [author] Steve Kemp

    How irritating! Your settings are almost identical to mine, but no luck here at all.

    I'm struggling to see anything else to try for the moment, so I will just continue to use 2player for the moment.

    Thanks for sharing your config entry though! [I could try adding/removing the password settings as a last stab I guess..]