• Publicidad

Ayuda para terminar mi reproductor de música

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Ayuda para terminar mi reproductor de música

Notapor BigBear » 2009-06-04 12:43 @571

Hi!

Este es el code de mi programa player.pl

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#Name program = Player Music
#Autor = Guason
#Alias = Guason el malvado

use Win32::MediaPlayer;



 if(!$ARGV[0]) {

print "\n\n";
print "Player Music By Guason\n";
print "\n";
print "Modo de uso = player.pl <SONG>\n";
print "SONG = Puede ser una cancion o un video\n\n";
print "Written by Guason\n";
exit 1;
}

my $play = $ARGV[0];


$winmm = new Win32::MediaPlayer;  # new an object
    $winmm->load ($play) ;        # Load music file disk, or an URL
    $winmm->play;                     # Play the music
    $winmm->volume(100);              # Set volume after playing
    $winmm->seek('00:00');            # seek to

    #$winmm->pause;                   # Pause music playing
    #$winmm->resume;                  # Resume music playing

    print "\n";
    print 'Total Length : '.$winmm->length(1),$/; # Show total time.
    while(1) {
          sleep 9;
          print "\n";

          print 'Now Position: '.$winmm->pos(1)."\r";   # Show now time.
    };
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Este programa lo hice con la ayuda del módulo Win32::MediaPlayer y viendo el ejemplo de CPAN del mismo.

Pero... tengo un problema: yo quiero que reproduzca una lista de canciones MP3 que están en formato playlist.m3u.

El problema empieza cuando quiero reproducirlo ya que reproduce solo una y, francamente, necesito que reproduzca todas las canciones, o sea: termina una, empieza otra, etc...

Agradecería cualquier ayuda.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Notapor explorer » 2009-06-07 16:45 @739

En CPAN hay algunos módulos que interpretan el contenido de los ficheros m3u...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor BigBear » 2009-06-09 17:37 @776

Grax, ya lo vi.

Estoy usando este: MP3::M3U.

Pero me da un error en el code:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  use MP3::M3U;
 use Win32::MediaPlayer;


  my $m3u = new MP3::M3U 'C:\playlist.m3u';
  my $files = $m3u->parse();

    $winmm = new Win32::MediaPlayer;
    $winmm->load ($files) ;
    $winmm->play;
    $winmm->volume(100);
    $winmm->seek('00:00');

    #$winmm->pause;
    #$winmm->resume;

    print 'Total Length : '.$winmm->length(1),$/;
    while(1) {

   sleep 1;
          print 'Now Position: '.$winmm->pos(1)."\r";   # Show now time.
    };
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Qué tengo que hacer para que funcione y las cargue?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Notapor explorer » 2009-06-09 18:49 @826

No has entendido la forma en que te devuelve el resultado MP3::M3U. Te devuelve un escalar a una lista de valores. Así que debes recorrerles uno por uno.

Algo así (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use MP3::M3U;
use Win32::MediaPlayer;

my $m3u = new MP3::M3U 'C:\playlist.m3u';
my $files = $m3u->parse();

foreach my $fichero (@$files) {

    $winmm = new Win32::MediaPlayer;
    $winmm->load ($fichero) ;
    $winmm->play;
    $winmm->volume(100);
#   $winmm->seek('00:00');

    #$winmm->pause;
    #$winmm->resume;

    print 'Total Length : '. $winmm->length(1) . $/;

    # length() nos devuelve la longitud en microsegundos
    # Esperamos la longitud de la canción más un par de segundos
    sleep 2 + $winmm->length / 1_000_000;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados