Difference between revisions of "Didj MP3 Streaming"
(→Building madplay) |
(→Building madplay) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Summary == |
This page describes how to play mp3 format audio streams and files on your Didj using madplay, a command-line mp3 player. | This page describes how to play mp3 format audio streams and files on your Didj using madplay, a command-line mp3 player. | ||
==Prerequisites== | ==Prerequisites== | ||
− | + | [[LeapFrog_Pollux_Platform:_Build_Environment| Set up the Build Environment]] | |
− | + | In order to stream a networked MP3 stream, first set up networking. | |
+ | * [[Didj_Enable_Networking| Enable Networking via USB Gadget]] | ||
+ | * [[LeapFrog_Pollux_Platform:_Internet_Access| Internet Access from Device]] | ||
− | |||
− | + | == Software Needed == | |
+ | [http://sourceforge.net/projects/mad/files/ madplay-0.15.2b.tar.gz] | ||
− | + | [http://sourceforge.net/projects/mad/files/ libmad-0.15.1b.tar.gz] | |
− | + | [http://sourceforge.net/projects/mad/files/ libid3tag-0.15.1b.tar.gz] | |
− | ==Building madplay== | + | [http://www.zlib.net/ zlib-1.2.5.tar.gz] |
+ | |||
+ | |||
+ | == Building madplay == | ||
Create a folder called madplay_build and then extract the abovementioned archives into folders in madplay_build. | Create a folder called madplay_build and then extract the abovementioned archives into folders in madplay_build. | ||
− | + | In addition to setting your build environment variables, you need to set these variables also. | |
− | |||
export CC=arm-linux-uclibcgnueabi-gcc | export CC=arm-linux-uclibcgnueabi-gcc | ||
export CXX=arm-linux-uclibcgnueabi-gcc | export CXX=arm-linux-uclibcgnueabi-gcc | ||
export CPPFLAGS='-I/full/path/to/madplay_build/libmad-0.15.1b -I/full/path/to/madplay_build/libid3tag-0.15.1b -I/full/path/to/madplay_build/zlib-1.2.5' | export CPPFLAGS='-I/full/path/to/madplay_build/libmad-0.15.1b -I/full/path/to/madplay_build/libid3tag-0.15.1b -I/full/path/to/madplay_build/zlib-1.2.5' | ||
export LDFLAGS='-L/full/path/to/madplay_build/libmad-0.15.1b -L/full/path/to/madplay_build/libid3tag-0.15.1b -L/full/path/to/madplay_build/zlib-1.2.5' | export LDFLAGS='-L/full/path/to/madplay_build/libmad-0.15.1b -L/full/path/to/madplay_build/libid3tag-0.15.1b -L/full/path/to/madplay_build/zlib-1.2.5' | ||
− | + | ||
Line 30: | Line 34: | ||
Enter the directory zlib-1.2.5 and run: | Enter the directory zlib-1.2.5 and run: | ||
− | + | $ ./configure | |
− | |||
− | configure | ||
− | |||
then run | then run | ||
− | |||
− | |||
make | make | ||
− | |||
Line 44: | Line 42: | ||
Enter the directory libid3tag-0.15.1b and type | Enter the directory libid3tag-0.15.1b and type | ||
− | + | $ ./configure --host=arm | |
− | configure --host=arm | ||
− | |||
then type | then type | ||
− | + | $ make | |
− | make | ||
− | |||
after which, type | after which, type | ||
− | + | $ cp .libs/libid3tag.a . | |
− | cp .libs/libid3tag.a . | ||
− | |||
(note the trailing dot) | (note the trailing dot) | ||
Line 62: | Line 54: | ||
'''Build libmad''' | '''Build libmad''' | ||
− | Enter the directory libmad-0.15.1b and type | + | Enter the directory libmad-0.15.1b |
− | + | ''Note: Edit 'configure', removing '-fforce-mem' from the CFLAGS directive with the following command.'' | |
− | configure --host=arm | + | $ sed -i -e '/fforce-mem/d' configure |
− | + | ||
+ | and then type | ||
+ | $ ./configure --host=arm | ||
− | |||
then type | then type | ||
− | + | $ make | |
− | make | ||
− | |||
− | |||
after which, type | after which, type | ||
− | + | $ cp .libs/libmad.a . | |
− | cp .libs/libmad.a . | ||
− | |||
(note the trailing dot) | (note the trailing dot) | ||
Line 84: | Line 72: | ||
Enter the directory madplay-0.15.2b and type | Enter the directory madplay-0.15.2b and type | ||
− | + | $ ./configure --host=arm | |
− | configure --host=arm | ||
− | |||
− | |||
then type | then type | ||
− | + | $ make | |
− | make | ||
− | |||
Finally, strip the madplay file as follows: | Finally, strip the madplay file as follows: | ||
− | + | $ arm-linux-uclibcgnueabi-strip madplay | |
− | |||
− | arm-linux-uclibcgnueabi-strip madplay | ||
− | |||
Line 105: | Line 85: | ||
Make sure the lightning application is stopped. | Make sure the lightning application is stopped. | ||
− | On | + | |
− | + | '' On Didj '' | |
− | /etc/init.d/lightning stop | + | $ /etc/init.d/lightning stop |
− | |||
==Playing MP3s== | ==Playing MP3s== | ||
Line 114: | Line 93: | ||
To execute madplay, | To execute madplay, | ||
On the Didj: | On the Didj: | ||
− | + | # madplay yourfile.mp3 | |
− | madplay yourfile.mp3 | ||
− | |||
==Streaming MP3s== | ==Streaming MP3s== | ||
− | |||
− | |||
To stream audio, wget a stream (the example is NPR news), while piping the stream through madplay: | To stream audio, wget a stream (the example is NPR news), while piping the stream through madplay: | ||
− | + | # wget -O - http://npr.ic.llnwd.net/stream/npr_live24 | ./madplay - | |
− | |||
− | wget -O - http://npr.ic.llnwd.net/stream/npr_live24 | ./madplay - | ||
− | |||
Note that .pls files are not supported in madplay. (but you can open them with a text editor to get the URL) | Note that .pls files are not supported in madplay. (but you can open them with a text editor to get the URL) | ||
Line 133: | Line 105: | ||
==References== | ==References== | ||
http://www.mneuroth.de/privat/zaurus/madplay.html | http://www.mneuroth.de/privat/zaurus/madplay.html | ||
+ | |||
+ | [[Category:Didj]] | ||
+ | [[Category:LeapFrog Pollux Platform]] |
Latest revision as of 09:52, 14 July 2011
Contents
Summary
This page describes how to play mp3 format audio streams and files on your Didj using madplay, a command-line mp3 player.
Prerequisites
In order to stream a networked MP3 stream, first set up networking.
Software Needed
Building madplay
Create a folder called madplay_build and then extract the abovementioned archives into folders in madplay_build.
In addition to setting your build environment variables, you need to set these variables also.
export CC=arm-linux-uclibcgnueabi-gcc export CXX=arm-linux-uclibcgnueabi-gcc export CPPFLAGS='-I/full/path/to/madplay_build/libmad-0.15.1b -I/full/path/to/madplay_build/libid3tag-0.15.1b -I/full/path/to/madplay_build/zlib-1.2.5' export LDFLAGS='-L/full/path/to/madplay_build/libmad-0.15.1b -L/full/path/to/madplay_build/libid3tag-0.15.1b -L/full/path/to/madplay_build/zlib-1.2.5'
Build zlib
Enter the directory zlib-1.2.5 and run:
$ ./configure
then run
make
Build libid3tag
Enter the directory libid3tag-0.15.1b and type
$ ./configure --host=arm
then type
$ make
after which, type
$ cp .libs/libid3tag.a .
(note the trailing dot)
Build libmad
Enter the directory libmad-0.15.1b Note: Edit 'configure', removing '-fforce-mem' from the CFLAGS directive with the following command.
$ sed -i -e '/fforce-mem/d' configure
and then type
$ ./configure --host=arm
then type
$ make
after which, type
$ cp .libs/libmad.a .
(note the trailing dot)
Build madplay
Enter the directory madplay-0.15.2b and type
$ ./configure --host=arm
then type
$ make
Finally, strip the madplay file as follows:
$ arm-linux-uclibcgnueabi-strip madplay
Install madplay
Transfer the file, plus one or more MP3s of your choosing, to your Didj.
Make sure the lightning application is stopped.
On Didj
$ /etc/init.d/lightning stop
Playing MP3s
To execute madplay, On the Didj:
# madplay yourfile.mp3
Streaming MP3s
To stream audio, wget a stream (the example is NPR news), while piping the stream through madplay:
# wget -O - http://npr.ic.llnwd.net/stream/npr_live24 | ./madplay -
Note that .pls files are not supported in madplay. (but you can open them with a text editor to get the URL)
Enjoy the sound!