mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 16:21:01 +00:00
.m3u support for Mp3Player app
(closes issue #14823) Reported by: macli Patches: app_mp3.diff1 uploaded by macli (license ) Tested by: macli, dvossel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -21,6 +21,9 @@
|
|||||||
* \brief Silly application to play an MP3 file -- uses mpg123
|
* \brief Silly application to play an MP3 file -- uses mpg123
|
||||||
*
|
*
|
||||||
* \author Mark Spencer <markster@digium.com>
|
* \author Mark Spencer <markster@digium.com>
|
||||||
|
*
|
||||||
|
* \note Add feature to play local M3U playlist file
|
||||||
|
* Vincent Li <mchun.li@gmail.com>
|
||||||
*
|
*
|
||||||
* \ingroup applications
|
* \ingroup applications
|
||||||
*/
|
*/
|
||||||
@@ -47,7 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||||||
/*** DOCUMENTATION
|
/*** DOCUMENTATION
|
||||||
<application name="MP3Player" language="en_US">
|
<application name="MP3Player" language="en_US">
|
||||||
<synopsis>
|
<synopsis>
|
||||||
Play an MP3 file or stream.
|
Play an MP3 file or M3U playlist file or stream.
|
||||||
</synopsis>
|
</synopsis>
|
||||||
<syntax>
|
<syntax>
|
||||||
<parameter name="Location" required="true">
|
<parameter name="Location" required="true">
|
||||||
@@ -56,7 +59,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||||||
</parameter>
|
</parameter>
|
||||||
</syntax>
|
</syntax>
|
||||||
<description>
|
<description>
|
||||||
<para>Executes mpg123 to play the given location, which typically would be a filename or a URL.
|
<para>Executes mpg123 to play the given location, which typically would be a mp3 filename
|
||||||
|
or m3u playlist filename or a URL. Please read http://en.wikipedia.org/wiki/M3U
|
||||||
|
to see how M3U playlist file format is like, Example usage would be
|
||||||
|
exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u)
|
||||||
User can exit by pressing any key on the dialpad, or by hanging up.</para>
|
User can exit by pressing any key on the dialpad, or by hanging up.</para>
|
||||||
</description>
|
</description>
|
||||||
</application>
|
</application>
|
||||||
@@ -89,6 +95,14 @@ static int mp3play(const char *filename, int fd)
|
|||||||
/* As a last-ditch effort, try to use PATH */
|
/* As a last-ditch effort, try to use PATH */
|
||||||
execlp("mpg123", "mpg123", "-q", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
|
execlp("mpg123", "mpg123", "-q", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
|
||||||
}
|
}
|
||||||
|
else if (strstr(filename, ".m3u")) {
|
||||||
|
/* Most commonly installed in /usr/local/bin */
|
||||||
|
execl(LOCAL_MPG_123, "mpg123", "-q", "-z", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", "-@", filename, (char *)NULL);
|
||||||
|
/* But many places has it in /usr/bin */
|
||||||
|
execl(MPG_123, "mpg123", "-q", "-z", "-s", "-b", "1024","-f", "8192", "--mono", "-r", "8000", "-@", filename, (char *)NULL);
|
||||||
|
/* As a last-ditch effort, try to use PATH */
|
||||||
|
execlp("mpg123", "mpg123", "-q", "-z", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", "-@", filename, (char *)NULL);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
/* Most commonly installed in /usr/local/bin */
|
/* Most commonly installed in /usr/local/bin */
|
||||||
execl(MPG_123, "mpg123", "-q", "-s", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
|
execl(MPG_123, "mpg123", "-q", "-s", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
|
||||||
|
Reference in New Issue
Block a user