Audio

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Audio

Inlägg av Osprey »

Litet enkelt script (förlåt skärmen blinkar (se annat inlägg)) för att kolla audio...

Kod: Markera allt

#! /bin/bash
#
echo
#
echo "Devices:"
echo "========"
echo "=> lspci | grep -i vga"
lspci | grep -i vga
echo "=> lspci | grep -i audio"
lspci | grep -i audio
echo
#
echo "Units:"
echo "======"
echo "=> aplay -l"
aplay -l
echo
#
echo "Codec:"
echo "======"
echo "=> cat /proc/asound/card0/codec#* | grep Codec"
cat /proc/asound/card0/codec#* | grep Codec
echo
#
echo "Checking plughw:"
echo "================"
cards=($(aplay -l | grep -i card | sed 's/://g' | \
	awk -F: '{ print $1 }' | awk '{ print $2 }'))
if [[ -z $cards ]]; then
	cards=($(aplay -l | grep -i kort | sed 's/://g' | \
		awk -F: '{ print $1 }' | awk '{ print $2 }'))
fi
units=($(aplay -l | grep -i unit | sed 's/://g' | \
	awk -F, '{ print $2 }' | \
	awk -F: '{ print $1 }' | awk '{ print $2 }'))
if [[ -z $units ]]; then
	units=($(aplay -l | grep -i enhet | sed 's/://g' | \
		awk -F, '{ print $2 }' | \
		awk -F: '{ print $1 }' | awk '{ print $2 }'))
fi
nunits=${#units[*]}
declare -a plughw=${units[1]}
for ((ix=0;ix<nunits;ix++)); do
	plughw[$ix]=${cards[$ix]}","${units[$ix]}
done
for ((ix=0;ix<nunits;ix++)); do
	cmd="aplay -D plughw:${plughw[ix]} /usr/share/sounds/alsa/Front_Center.wav"
	#echo "=> "$cmd
	echo " Testing plughw:${plughw[ix]}"
	out=$($cmd 2>&1)
	if [[ $? == 0 ]]; then
		echo "   OK"
	else
		echo "   Fail"
		echo "    "$out
	fi
done
[EDIT] Ändrade lite så att den använder i första hand engelska och om detta inte fungerar så går den över till svenska. Övriga språk kan lätt läggas till om man finner behov av det. Det är bara att lägga till fler "if [[ -z $cards ]]; then" och "if [[ -z $units ]]; then" inne i nuvarande sådana if-satser. Tänk bara på att nästa sats ska "befinna sig inne i" närmast föregående, eftersom detta gör att scriptet automatiskt "hoppar ur if:en" så fort det får en träff... :)

[EDIT igen] Visst skulle man kunna göra det lite "snyggare" med $LANG och en "case", men det blir i slutänden ändå det uttryck som ger en träff som är mest relevant... ;)
Senast redigerad av 3 Osprey, redigerad totalt 5 gång.
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Kurdistan
Inlägg: 2446
Blev medlem: 27 feb 2010, 15:09
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Audio

Inlägg av Kurdistan »

Tack för skriptet. Roligt att ha dig tillbaks. :kram:
Påvels blogg:
http://pavel.frimix.se/
Läs länken nedan, innan ni söker hjälp på forumet
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&p=450678
En nära väns svenska Mageia-blogg som jag emellanåt hjälper till. Ta gärna en titt:
http://mageiasv.blogspot.se/
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Audio

Inlägg av Osprey »

Uppdatering, se ovan...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Skriv svar

Återgå till "Terminalforum"