Kommt doch mal runter=)
Ich versteh euch doch, aber jetzt ist durch diese diskusion doch das ganze thema aus dem ruder.
Ich weiss, wie "nervig" es ist, wenn jemand über google auf (zb) diese seite kommt, die lösung sucht, und dann solche "brüche" im thema sind.
Ich poste jetz lieber nix mehr. Alles zu verwirrend und ihr denkt am ende noch sonstwas von mir.
Um das ganze aber nochmal zusammen zu fassen:
<embed ... ist wohl ungeeignet.
auch der versuch mit der window media playlist (.wpl) funktioniert nicht.
HTML5 <audio> scheint mir am sinvollsten, da es in jedem browser funktioniert (wenn man src beachtet ...) , aber ich habe noch keine lösung gefuden, mehrere sounds nacheinander im gleichen player abzuspielen.
Fortschritt ! ;D
addEventListener "'ended'" funktioniert:
|
Javascript-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', '1.wav');
audioElement.play();
audioElement.addEventListener('ended', function(e) {
var audioElement2 = document.createElement('audio');
audioElement2.setAttribute('src', '2.wav');
audioElement2.play();
audioElement2.addEventListener('ended', function(e) {
var audioElement3 = document.createElement('audio');
audioElement3.setAttribute('src', '3.wav');
audioElement3.play();
}, false);
}, false);
|
Nur wie bekomme ich jetzt die gebrauchten waves in JS ?
Über PHP habe ich ein Array mit allen waves die beim jeweiligen durchgang gebraucht werden.
Ist es möglich diese in JS in eine (wie bei PHP) foreach schleife zu packen?
solution and working code:
(create those wavs in same folder of curse)
Lösung und funktionierender code:
(erstellt diese wavs im gleichen ordern, logisch=)
|
PHP-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
$words[1] = '11.wav';
$words[2] = '13.wav';
$words[3] = '2.wav';
$words[4] = '10.wav';
?>
<audio id="player_id" controls="controls">
Your browser does not support the audio element.
</audio>
<script language="javascript" type="text/javascript">
<?
$act = '.play();';
$c = 1;
$n = count($words);
foreach($words as $key => $word)
{
$audioElement = '
var audioElement' . $c . ' = document.getElementById("player_id");
audioElement' . $c . '.setAttribute("src", "' . $words[$key] . '");
audioElement' . $c ;
$addEventListener_open = '
audioElement' . $c . '.addEventListener("ended", function(e) {
';
$addEventListener_close = '
}, false);
';
$c_next = $c+1; $key_next = $key+1;
if($c_next < $n)
{
$audioElement_next = '
var audioElement' . $c_next . ' = document.getElementById("player_id");
audioElement' . $c_next . '.setAttribute("src", "' . $words[$key_next] . '");
audioElement' . $c_next ;
}
elseif($key_next <= $n)
{
$audioElement_next = '
var audioElement' . $c_next . ' = document.getElementById("player_id");
audioElement' . $c_next . '.setAttribute("src", "' . $words[$key_next] . '");
audioElement' . $c_next ;
}
if($c == 1)
{
echo $audioElement . $act . $addEventListener_open . $audioElement_next . $act;
}
elseif($c != $n)
{
echo $addEventListener_open . $audioElement_next . $act;
}
$c++;
}
echo $addEventListener_open . $audioElement_next . '.stop();' . '}, false);';
for($y = 1; $y < $n; $y++)
{
echo '}, false);';
}
?>
</script>
<?
|
Working with .wav in / Funktioniert mit .wav in:

(image and info taken from
http://www.homepage-baukasten.de/forum/viewtopic.php?t=49173)
Bin ich froh! Das hat nerven gekostet.
Um es nun noch im IE abspielen zu können, müsste man es auf .wav
und .mp3 umschreiben.
Übrigens - der "Spass" in zeile 59 - hat jemand eine idee, wie man das playback nach dem letzen "play" stoppen kann? Ohne der zeile wäre der letzte sound nämlich ein loop =)