randmusic.pl
Publicado por zé ricardo 22/02/2005
[ Hits: 4.014 ]
É 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
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Erro ao executar o comando para dar um get email (0)
Instalei Windows 11 e não alterou o Grub do Debian (2)
Albfneto. Voltando devagar. (0)
Os empreguim de meu Deus estão cada vez mais tecnológicos (8)