Programa de músicas
Publicado por Alentz (última atualização em 08/07/2016)
[ Hits: 4.862 ]
Download 1466206471.programa (versão 2)
O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas em sequência.
Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/
Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).
Para o programa rodar precisa ter instalado o mpg321:
$ sudo apt-get install mpg321
IMPORTANTE! Na primeira vez que for rodar o programa, digite:
$ ./programa instalar
ou
$ bash programa instalar
isso vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.
Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail : lexandre.199713@hotmail.com
Versão 2 - Enviado por Alentz em 17/06/2016
Changelog: O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas elas em sequência.
Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/
Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).
Para o programa rodar precisa ter instalado o mpg321:
$ sudo apt-get install mpg321
IMPORTANTE! Na primeira vez que for rodar o programa, digite:
$ ./programa instalar
ou
$ bash programa instalar
Esse parâmetro "instalar" vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.
Importante : Para encerrar uma música ou passar de música , aperte Ctrl + c .
Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail : alexandre.199713@hotmail.com
#!/bin/bash
# pra rodar esse script é importante usar primeiro um dos comandos ./programa instalar ou bash programa instalar
# depois de ter feito isso não é necessário repetir o comando . Use ./programa ou bash programa
usuário=$(whoami) # essa variável vai ter o valor do usuário que estiver rodando o programa .
$1 # esse parametro serve pra instalar o programade musica .Ex : ./programa instalar ou bash programa instalar
if [ "$1" = "instalar" ];then # verificando o valor do parametro dado , se o valor do parametro $1 não for dado ,
# o programa não ira rodar perfeitamente .
mkdir /home/$usuario/programademusica # criando pasta pro programa , na pasta pessoal do usuario .
touch /home/$usuario/programademusica/localdemusicas # arquivo pra interação do programa
touch /home/$usuario/programademusica/musica # arquivo pra interação do programa
touch /home/$usuario/programademusica/playlist # arquivo pra interação do programa .
fi
lista(){ # primeira função , lista as musicas que estiverem na pasta Música na pasta pessoal do usuario ($usuario)
ls /home/$usuario/Música > /home/$usuario/programademusica/localdemusicas # aqui ele lista com o ls a pasta Música e manda usando ">"
# pro arquivo localdemusicas , criado no comeco do script .
faixas=$(cat /home/$usuario/programademusica/localdemusicas) # variavel faixas vai ter valor do arquivo localdemusicas .
# localdemusicas tem o valor do ls dado na pasta Música .
if [ -n "$faixas" ];then # nessa parte eu verifico se tem musicas na pasta Música ,
# se tiver mostra na tela o arquivo localdemusicas se não vai pro menu .
# o -n (não nulo) verifica se na variavel faixas tem valor , no caso musicas .
clear # limpa a tela
echo # pula linha
figlet MUSICAS # figlet é o comando que deixa a palavra ou texto, legal .
echo # pula linha
cat /home/$usuario/programademusica/localdemusicas # vai listar na tela as musicas , que estão listadas no arquivo localdemusicas
echo # pula linha
echo # pula linha
echo SELECIONE A FAIXA DA MUSICA . # pede pra selecionar a faixa .
read numerodamusica # pegando a faixa dada
escolha # vai pra função escolha
else # se na comparação do if , faixas não tiver valor (musicas) , vai pro menu .
echo VOCE NÃO TEM NENHUMA MUSICA ! # informa que não tem musica
read # dando um tempo pro usuario ler a informação .
menu # vai pra função menu , essa função esta no final do script .
fi
}
escolha(){ # os comandos que estão nessa função podiam estar dentro da função lista entre o if ,
# mas achei melhor separar . uma tentativa de deixar mais legivel o script ^^
clear # limpa a tela
figlet musica # figlet , comando pra deixar a letra bacana
sed -n "$numerodamusica"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/musica
# aqui entra o sed , ele vai pegar a parte da linha informada pela variavel $numerodamusica no arquivo localdemusicas .
# depois de pego vai mandar o resultado pro arquivo musica .
pegando=$(cat /home/$usuario/programademusica/musica) # $pegando vai pegar como valor o arquivo musica .
# O que tem dentro do arquivo musica é o resultado do comando sed .
mpg321 /home/$usuario/Música/"$pegando" # mpg321 aciona a musica .
#é essa linha do codigo que eu gosto , usei duas variaveis importantes pro script pra indicar o caminho pro mpg321 .
#e tbm é nessa linha q torna o script funcional com qualquer usuario e musica .
menu # vai pra função menu depois que acabar a musica .
}
playlist(){ # função pra tocar todas musicas que estiverem na pasta Música
proximo=$'1' # definindo a variavel pro loop e comparação .
while [ $proximo > 0 ];do
sed -n "$proximo"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/playlist
# esse sed é quase igual o da função escolha . ele não usa read pra pegar valor , usa a variavel $proximo pra dar continuação nas musicas .
# tbm esse sed envia o resultado pra um outro arquivo , a playlist .
pegando=$(cat /home/$usuario/programademusica/playlist)
# essa variavel $pegando vai servir pra verificar se ainda tem musicas para serem tocadas .
if [ -z "$pegando" ];then # -z (nulo), se não tiver valor ( musicas para serem tocadas ) ir pro menu .
menu # indo pra função menu .
else # se caso $pegando tiver valor , pode continuar com o codigo .
clear #limpa a tela
figlet PLAYLIST # letra bacana
echo
mpg321 /home/$usuario/Música/"$pegando"
# mpg321 toca a musica dada pela variavel pegando . O valor dela é o resultado do comando sed la em cima .
proximo=$(($proximo + 1)) # aqui ele vai aumentar o valor de $proximo pra +1 .
# criando um loop . Só irá parar quando a variavel pegando não tiver valor ^^ ,
# quando passar pelo if e $pegando n tiver valor (musicas) o programa ira pro menu .
fi
done # volta pro while ^
}
menu(){ # função menu , aqui o programa só ira se apresentar .
clear
echo
echo -e "\033[01;33m" # \033[00;33m cor amarela no texto .
figlet BEM VINDO
sleep 1 # dorme durante 1 segundo
echo
echo "=================================="
echo "= ESTE É O PROGRAMA DE MÚSICAS. ="
echo "= VOCE PODE VISUALIZAR SUAS ="
echo "= MUSICAS , PRODUZILAS E ="
echo "= ESCUTAR TODAS EM SEQUENCIA. ="
echo "=================================="
echo -e "\033[01;31m=================================="
echo "= Autor: Alentz ="
echo -e "==================================\033[01;31m" # aqui quebro a cor amarela e coloco a vermelha , 31m
sleep 2 # 2 segundos
echo
echo
echo -e "OQUE VOCE DESEJA ACESSAR ? INFORME COM O NUMERO !"
sleep 1
echo
echo -e "\033[01;33m=================================" # volta pra amarela 33m
echo "=== 1 ) Titulos ==============="
echo "=== 2 ) Reproduzir todas ========"
echo "================================="
read acesso # pega o valor dado pelo usuario
if [ "$acesso" = "1" ];then
lista # vai pra função lista
fi
if [ "$acesso" = "2" ];then
playlist # aqui pra playlist
fi
}
menu # começa o programa . Chamo a função menu .
for((loop=2;loop>1;loop++))do # este for é pra caso se o usuario digitar errado ele vai ser direcionado denovo pro menu .
menu
done
Script que execulta 5000 pastas -DarkLooping-
Calcular raízes de equações de segundo grau
Script para Backup Banco Firebird
Convertendo avi para mp3, wmv para avi e flw para avi
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (4)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









