Autor Zpráva
krteczek
Profil
prosím umí tu někdo programovat v bashi? potrebuji udelat prehravač mp3/ogg pompci mpg123 a ogg123. Proste podle typu souboru se spusti prehravac zatím se mi povedlo s pomocí kamoše udělat postupné přehravaní písniček, ale není to ono již 5 píseň od jednoho autora ze sebou jde na nervy....
první skript vypadá takhle a je funkční:

#! /bin/sh
cat list.pls | while read F
do
echo -e "\033[1m\033[36m==============\033[0m"
echo "Přehrávám:" "$F"
echo -e "\033[1m\033[36m==============\033[0m"
case "$F" in
*.[oO][gG][gG])
ogg123 "$F" 2> /dev/null
;;
*.[mM][pP]3)
mpg123 "$F" 2> /dev/null
;;
esac
:
done

druhý kde mne napadlo použít pole (playlist se načte do pole a pomocí random se zvolí skladba) ale to už se nám nedaří rozchodit:-(


#! /bin/sh

pole="$(cat list.pls)"
pocet=${#pole[*]}
echo $pocet
while true
do
radek=$((RANDOM % pocet + 1))
echo $radek
skladba=${#pole[radek]}
case "$skladba" in
*.[oO][gG][gG])
ogg123 "$skladba" 2> /dev/null
;;
*.[mM][pP]3)
mpg123 "$skladba" 2> /dev/null
;;
esac
:
done

a $radek vypisuje stále 1
krteczek
halogan
Profil
Možná inspirace:
http://www.abclinuxu.cz/clanky/show/80749
http://www.abclinuxu.cz/clanky/show/80853
thingwath
Profil
Něco málo by mě napadlo, i když haloganovy odkazy udělají svoji práci lépe :-)


#!/bin/bash

POCET=`cat playlist|wc -l`

while true; do
skladba="`head -n $(($RANDOM % $POCET)) playlist|tail -n1`"
#$skladba je nyni nazev souboru z playlistu
done
krteczek
Profil
thingwath: Díky, tvůj skript je to, co jsem potřeboval, po doplnění to vypadá takhle:


#! /bin/sh
POCET=`cat list.pls|wc -l`
echo $POCET
while true; do
skladba="`head -n $(($RANDOM % $POCET)) list.pls | tail -n1`"
#$skladba je nyni nazev souboru z playlistu
echo " prave hraje " $skladba
case "$skladba" in
*.[oO][gG][gG])
ogg123 "$skladba" 2> /dev/null
;;
*.[mM][pP]3)
mpg123 "$skladba" 2> /dev/null
;;
esac
:
done

nechtěl jsem jiný/jiné přehrávač/e jsem s ogg123 a mpg123 naprosto spokojen, jen jsem potřeboval překlenout to že jeden neumí mp3 a druhý ogg, tím skriptem s náhodným výběrem je to dotaženo k dokonalosti :-D
vždyť mpg123 bere tak 4-8MB ram a ogg123 kolem 20MB a to je pro mne směrodatné... nezatěžují mi zbytečně moc systém ( 96MB ram /p2/333MHz )
xmms bral kolem 50MB což mi vadilo.

Děkuji za pomoc
krteczek
Anonymní
Profil *
Ahojky všem začínajícím linuxákum na pomalých strojích. Tak jsem přemýšlel, a bádal dál, mezitím ještě udělal na mém počítači kompletní reinstall a už se mi nechtělo zpátky nahrávat všechny mp3/ogg na hdd ( 30GB je zbytečně moc zabraného místa na 40GB hdd) no a doplnil jsem skriptík ještě o pár "drobností"
1) skript po spuštění vytvoři playlist z cd ( to byla prvni věc co mně napadla )
2) skript spomalí rychlost cd rom na unosnych 4x (cdrom nekvílí a nedělá randál, to se v noci nedalo poslouchat mp3/ogg a přes den jen s vypětím všech nervu :-)

takže ted potichu a z cdrom přehrává mp3/ogg, s každym cdrom které vložíte do cd si vytvoří znovu playlist a začne náhodně přehrávat skladby.

tady je ten upravený skript:

#! /bin/sh

# nastaveni rychlosti cd
eject -x 4

# vytvoreni playlistu,
# upravte si cestu k cdrom podle sveho nastaveni pocitace!!!
find /mnt/cdrom/ | grep mp3 > list.pls
find /mnt/cdrom/ |grep ogg >> list.pls

# zjisteni kolik je v playlistu polozek
POCET=`cat list.pls|wc -l`
echo $POCET

#nekonecná smycka prehravajici mp3/ogg
while true; do

# nacteni nahodne skladby z playlistu
skladba="`head -n $(($RANDOM % $POCET)) list.pls | tail -n1`"

#$skladba je nyni nazev souboru z playlistu

echo " prave hraje " $skladba

case "$skladba" in
# pokud je skladba ogg vybere prehravac ogg123
*.[oO][gG][gG])

ogg123 "$skladba" 2> /dev/null

;;
#pokud je skladba *.mp3 vybere prehravač mpg123
*.[mM][pP]3)

mpg123 "$skladba" 2> /dev/null

;;

esac

:

done


skript si skopirujte treba do gedit a uložte pod nějakým nazvem ve vašem home adresáři, já ho mám nazvaný hraj
a v konzoli ( terminálu ) ho spouštím

[krteczek@localhost krteczek]$ sh hraj

takže si užijte nenáročného přehrávače na paměť i na výpočetní výkon

krteczek
ps: budu rád když mi zde napíšete Vaše skušenosti s používaním ttohoto prehrávače
krteczek
Profil
Ještě doplním, že je třeba nastavit tomu skriptu práva spouštění
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.