randmusic.pl
Publicado por zé ricardo 22/02/2005
[ Hits: 4.053 ]
É um script derivado do randomp3. A diferença é que ele toca ogg's e wma's tb. Eu já estava com a idéia de fazer um script para isso, como vi que já tinham feito, achei que podia dar uma melhoradinha, tá ae! :) Falta achar um jeito para fechá-lo com ctrl+c e ainda dar a opção de pular a música. Nenhum dos dois scripts faz isso. :(
#!/usr/bin/perl -w # Script derivado do randomMp3: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=22 # Este toca ogg's e wma's , é necessário ter o ogg123 e o mplayer instalados # Autor: Zé Ricardo (zehzinho@gmail.com) use Cwd; use strict; use warnings; my $diretorio = ""; if ($#ARGV != 0) { $diretorio = getcwd; } else { $diretorio = shift; } my @arquivos = (); my %lista = (); my $menor = 1; if (!-d $diretorio) { print "Diretório maluco ?\n"; exit; } chdir $diretorio; opendir(D,$diretorio); my @mp3 = grep /\.mp3$/i, readdir(D); rewinddir D; my @ogg = grep /\.ogg$/i, readdir (D); rewinddir D; my @wma = grep /\.wma$/i, readdir (D); @arquivos = (@mp3, @ogg, @wma); # limpando... @mp3 = (); @ogg = (); @wma = (); closedir(D); if (!"@arquivos") { print "Cadê as músicas deste diretório ?\n"; exit; } foreach my $arquivo (@arquivos) { if (!defined($lista{$arquivo})) { $lista{$arquivo} = 1; } } sub round { my $x = shift; $x = sprintf "%.0f",$x; return $x; } do { my $rotates = 0; do { my $indice = round(rand($#arquivos)); if ($lista{$arquivos[$indice]} <= $menor) { $lista{$arquivos[$indice]}++; print "Reproduzindo música: $arquivos[$indice] ...\n"; if ($arquivos[$indice] =~ /.mp3$/i) { exec("mpg321 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || system("mpg123 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de maneira inesperada\n"; } elsif ($arquivos[$indice] =~ /.ogg$/i) { exec("ogg123 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de modo inesperado\n"; } else # eh .wma { exec("mplayer '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de modo inesperado\n"; } } $rotates++; } while ($rotates <= $#arquivos); $menor++; } while(1);
Wallpapers aleatórios no Fluxbox
Tirando screenshots facilmente !
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)