After receiving a few comments that the commandline flags are confusing, and realizing that trying to describe them with half a line is difficult at best, I decided to type this up to expand upon them. Flag ---- -v Verbose output. Using this flag will make sure that you get to see every piece of output the program allows, including header information and a running frame counter. -q Quiet. Supresses almost all output. -t Testmode. Used to test playing without the presence of an audio device. -s Write to stdout. stdout will default to the screen, but can be redirected with the ">" parameter. -k n Skip the first "n" frames. "n" defaults to 0. -n n Decode only the first "n" frames. "n" defaults to all frames. -c Check range violations. -y Turn off resync attempts. By default, mpg123 attempts to scan ahead for valid header information when it reads an incorrect header. Turning this off will cause the program to stop instead. -b n Assign "n" 16k buffer blocks. The minimum for "n" is 16 (or a 256k buffer). The maximum is 4096 (or a 64M buffer). The default is 128 (or a 2048K buffer). -f n Change scalefactor to "n". "n" defaults to 32768 -r n Override samplerate to "n". "n" must be a valid sampling rate for your soundcard (check your documentation). -g n Set audio hardware output gain. *** Currently unsupported *** -os Output to built-in speaker. *** Currently unsupported *** -oh Output to headphones. *** Currently unsupported *** -ol Output to line-out connector. *** Currently unsupported *** -a d Set audio device. *** Currently unsupported *** -2 Downsample 1:2 (22KHz). Adjusts the playing of a song to output at 22KHz, saving some CPU time. -4 Downsample 1:4 (11KHz). Adjusts the playing of a song to output at 11KHz. Saves more CPU time, but song quality is noticably poorer. -d n Play every "n"th frame only. Setting this to 2, for example, will cause every 2nd frame to be played. -h n Play every frame "n" times. Setting this to 2 will cause every frame to be played twice. -0 Decode channel 0 (left) only. Will only decode the left channel, although output will still be stereo. Decreases CPU usage. -1 Decode channel 1 (right) only. Will only decode the right channel, although output will still be stereo. Decreases CPU usage. -m Mix both channels (mono). Mixes the output of both channels together, then outputs in stereo. Significant CPU time is saved. -8 Force 8 bit output. Allows playing on soundcards that do not support 16 bit playback. No significant gains for 16 bit sound card owners. -e Recurse subdirectories. This is best used with wildcard support. Will search the current directory and any subdirectories for the filename provided. -@ f Read filenames from file "f". File "f" should list the files on separate lines. Spaces in the filenames is acceptable. Wildcards are supported, as are filenames with spaces. Examples -------- "mpg123 -m -2 -e *.mp3" Mixes both channels together, and decreases output to 22KHz, greatly decreasing the required CPU time. Searches the current and any subdirectories for any files matching *.mp3, and creates an in memory playlist of them. "mpg123 -v -8 -@ playlist" Gathers the playlist from file "playlist". Uses 8 bit playback, and does verbose reporting on the individual songs. "mpg123 -b 64 -q -y file.mp3" Creates 64 x 16k buffers (1024k, or 1 meg), prevents output of any information, plays file.mp3, and forces exit if an invalid header is read.