webForumDet fria alternativet

MP3-uppspelning i XHTML

14 svar · 1 371 visningar · startad av adde

addeMedlem sedan jan. 2000120 inlägg
#1

Håller på att konvertera några html filer till XHTML och fick problem då jag skulle fixa till uppspelningen av en mp3:a.

Tidigare använde jag:

<object width="100" height="20" hspace="0" vspace="0">
<embed src="Ljud.mp3" width="100" height="20" hspace="0" vspace="0" autostart="False"></embed>
</object>

Vilket fungerar utmärkt i HTML men som inte blir validerat i XHTML, jag vill ha det som ovan, en lite ruta där man kan klicka på play ifall man vill spela upp ljudet, saken är bara den att jag inte vet hur jag ska göra!

Jag vet att embed inte fungerar i XHTML, så jag antar att det är något med object elementet...

zcorpanMedlem sedan dec. 20042 245 inlägg
#2

embed fungerar lika bra i XHTML som i HTML. Dock är det invalid kod i båda fallen.

Om du vill att det ska validera så kan du göra såhär:

<object type="audio/mpeg" data="musikklipp.mp3">
  <p>Lyssna gärna på mitt <a href="musikklipp.mp3">musikklipp</a>!</p>
</object>

Det verkar starta automatiskt, men det kan man säkert ändra genom att använda några params. :)

Jesper TMedlem sedan nov. 20017 144 inlägg
#3
<script type="text/javascript">
<!--//
document.write('<object width="100" height="20" hspace="0" vspace="0">');
document.write('<embed src="Ljud.mp3" width="100" height="20" hspace="0" vspace="0" autostart="False"></embed>');
document.write('</object>');
//-->
</script>

;)

zcorpanMedlem sedan dec. 20042 245 inlägg
#4

Okej...

  1. Varför blanda in JavaScript?
  2. Vi snackar om XHTML, så document.write() är att glömma.
  3. Kommentarer (<!-- -->) ignoreras av XML-tolken även inom script och style.
  4. Även om skriptet körs, så har vi gjort dokumentet ogiltigt igen genom att lägga till den embed vi ville undvika.

Jag tror jag fick med de viktigaste aspekterna.

addeMedlem sedan jan. 2000120 inlägg
#5

Mer ideér?

Är det ingen som har några konkreta exempel på detta?
saken är den att den måste bli validerad!

Det borde ju gå att åstakomma detta, eller?

zcorpanMedlem sedan dec. 20042 245 inlägg
#6

Fungerar inte mitt första exempel?

Har du testat lägga till parametrar, tex

<param name="autostart" value="false" />

?

TroxyMedlem sedan mars 20041 505 inlägg
#7

Jesper T skrev:

<script type="text/javascript">
<!--//
document.write('<object width="100" height="20" hspace="0" vspace="0">');
document.write('<embed src="Ljud.mp3" width="100" height="20" hspace="0" vspace="0" autostart="False"></embed>');
document.write('</object>');
//-->
</script>

;)

Vet inte om ditt inlägg var seriöst, men jag antar att du genom att lägga den icke-validerande koden i Javascript så hittar inte validatorn den koden och skriker då inte till om något fel?

Men kolla: Validera sin hemsida gör man för att den ska innehålla korrekt HTML-kod, inte för att det ska STÅ att hemsidan innehåller korrekt HTML-kod. Därav är detta alternativ helt uppåt väggarna.

addeMedlem sedan jan. 2000120 inlägg
#8

Nja..

Kopierade det du skrev Zcorpan, men det händer inte så mycket.

efter lite letande och testande fick jag dock det att fungera i explorer med följande kod:

<object width="80" height="24" hspace="0" vspace="0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
<param name="FileName"value="Ljud/tal.mp3" />
<param name="controller" value="StopButton" />
<param name="autostart" value="false" />
</object>

Problemet är bara att detta inte alls vill fungera i Firefox... ingenting händer...
Någon som vet hur man ska skriva för att det ska fungera i så många av webbläsarna som möjligt och samtidigt vara kod som går att validera?

zcorpanMedlem sedan dec. 20042 245 inlägg
#9

Jag tror att firefox släpper hela OBJECT pga CLASSID-attributet...

Jag vet inte, men min kod fungerade för mig i såväl IE som Firefox och Opera.

Du kan ju testa nästla OBJECT såhär:

<object width="80" height="24" hspace="0" vspace="0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
  <param name="FileName"value="Ljud/tal.mp3" />
  <param name="controller" value="StopButton" />
  <param name="autostart" value="false" />
  <object type="audio/mpeg" data="Ljud/tal.mp3" width="80" height="24" hspace="0" vspace="0">
    <param name="controller" value="StopButton" />
    <param name="autostart" value="false" />
    <p>Ladda hem <a href="Ljud/tal.mp3">Ljud/tal.mp3</a></p>
  </object>
</object>
PepeJeriaMedlem sedan feb. 2003774 inlägg
#10

Denna är en lösning av Ian Hixie, en Opera-anställd, som funkar fint:

	<object
		classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
		codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
		width="602"
		height="176">
			<param
				name="movie"
				value="flash/front.swf">
			<param
				name="quality"
				value="high">
			<param
				name="bgcolor"
				value="#FFFFFF">
		<!--[if !IE]> <-->

		<object
			data="flash/front.swf"
			width="602"
			height="176"
			type="application/x-shockwave-flash">
				<param
					name="quality"
					value="high">
				<param
					name="bgcolor"
					value="#FFFFFF">
				<param
					name="pluginurl"
					value="http://www.macromedia.com/go/getflashplayer">
	    </object>
	    <!--> <![endif]-->
	</object>

Denna är för en flash dock, men det är bara ändra här och där för att spela en mp3 fil

icaaqMedlem sedan okt. 20005 273 inlägg
#11

PepeJeria skrev:

Denna är en lösning av Ian Hixie, en Opera-anställd, som funkar fint:

	<object
		classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
		codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
		width="602"
		height="176">
			<param
				name="movie"
				value="flash/front.swf">
			<param
				name="quality"
				value="high">
			<param
				name="bgcolor"
				value="#FFFFFF">
		<!--[if !IE]> <-->

		<object
			data="flash/front.swf"
			width="602"
			height="176"
			type="application/x-shockwave-flash">
				<param
					name="quality"
					value="high">
				<param
					name="bgcolor"
					value="#FFFFFF">
				<param
					name="pluginurl"
					value="http://www.macromedia.com/go/getflashplayer">
	    </object>
	    <!--> <![endif]-->
	</object>

Denna är för en flash dock, men det är bara ändra här och där för att spela en mp3 fil

Fungerar denna även för mp3? som adde´s fråga handlade om?

mv icaaq

/red. Läste inte hela PepeJeria´s inlägg :r så strunta i detta inlägg :D

mv icaaq

zcorpanMedlem sedan dec. 20042 245 inlägg
#12

Det här kanske kan ge några idéer: http://www.juicystudio.com/object-paranoia.asp :)

CheguelinMedlem sedan juli 2003303 inlägg
#13

Själv är jag inne på denna lösningen:

<p>Ladda hem min störiga <a href="olle.mp3">mp3-låt</a>.

När jag och många andra (de flesta kanske) sitter vid datorn lyssnar jag på musik, och det finns inget störigare än att komma till en flashsida med värdelös musik.

PepeJeriaMedlem sedan feb. 2003774 inlägg
#14

Håller med Cheguelin. Man ska inte tvinga på någon musik när man besöker en sida. Om man nu vill lyssna så kan man klicka på en länk istället

addeMedlem sedan jan. 2000120 inlägg
#15

Tack zcorpan

Koden som tillslut fungerade i både explorer och ff samt blev validerad av w3c ser ut som följer:

<object id="IEQT" width="80" height="24" hspace="0" vspace="0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
<param name="FileName"value="Ljud/tal2.mp3" />
<param name="controller" value="StopButton" />
<param name="autostart" value="false" />

<!--[if !IE]> <-->

\<object id="NonIEQT"
        data="ljud/tal2.mp3"
        type="audio/mpeg"
        width="80"
        height="24"\>
   \<param name="autoplay" value="-1"/\>
   \<param name="controller" value="-1"/\>
\</object\>

<!--> <![endif]-->
</object>

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)