I played around with that before, but used Tk which has "an event loop" to make this sort of thing easier. POE might be able to help you on the command-line versions. In the sources for mpg123, there is a README.remote file, which describes how to remotely control the player. You will have to play your songs thru the "piped-form of open", rather than backticks, so you can signal the player to skip to the next songs. With bacticks, killing the song, will kill the instance of the player, so you will be creating a new player for each song....kind of wasteful. The following example, has a "Pause" Button, but you can skip to the next song in a playlist by just LOADING it.
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
#read README.remote in mpg123 sources
$|++;
#my $pid = open(FH,"| mpg123 -R 2>&1 ");
my $pid = open(FH,"| mpg123 -R >/dev/null 2>&1 ");
print "$pid\n";
my $mw = new MainWindow;
my $startbut = $mw->Button(-text =>'Start Play',
-command => sub{
syswrite(FH, "LOAD 1bb.mp3\n") ;
})->pack;
my $pausebut = $mw->Button(-text =>'Pause',
-command => sub{
syswrite(FH, "PAUSE\n") ;
})->pack;
my $exitbut = $mw->Button(-text =>'Exit',
-command => sub{ exit })->pack;
MainLoop;
I'm not really a human, but I play one on earth.
flash japh
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.