Hallo 
Voor een radiostation beheer en programmeer ik vrijwillig de website met een live-stream en kunnen bezoekers enkele eerder uitgezonden uitzendingen terug beluisteren ("on-demand"). Dit zijn .MP3 bestanden op de webserver. Zodra op een eerder uitgezonden uitzending wordt geklikt, wordt het .mp3-bestand gestreamd naar de client en wordt vaak WMP gestart. Maar helaas kunnen de bezoekers niet doorspoelen (fast-forwarding) binnen het bestand. En dus ben ik gaan zoeken hoe ik dit voor elkaar kan krijgen.
Bij het zoeken kwam ik dit tegen. Dit gaf mij wat ideeen om te testen. Uiteraard ook verder gezocht, maar kwam niet verder dan de vele informatie over te gebruiken headers.
Dit is wat ik nu heb gemaakt:
Dit werkt niet. Ook had ik dit nog getest:
Hiermee wordt het streamen wel gestart, maar kan nietverder worden gespoeld.
Iemand die mij eventueel verder kan helpen?
Voor een radiostation beheer en programmeer ik vrijwillig de website met een live-stream en kunnen bezoekers enkele eerder uitgezonden uitzendingen terug beluisteren ("on-demand"). Dit zijn .MP3 bestanden op de webserver. Zodra op een eerder uitgezonden uitzending wordt geklikt, wordt het .mp3-bestand gestreamd naar de client en wordt vaak WMP gestart. Maar helaas kunnen de bezoekers niet doorspoelen (fast-forwarding) binnen het bestand. En dus ben ik gaan zoeken hoe ik dit voor elkaar kan krijgen.
Bij het zoeken kwam ik dit tegen. Dit gaf mij wat ideeen om te testen. Uiteraard ook verder gezocht, maar kwam niet verder dan de vele informatie over te gebruiken headers.
Dit is wat ik nu heb gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| $file= "http://xxx/uitzending.mp3"; header("HTTP/1.1 206 Partial content"); $offset = sscanf($headers["Range"], "bytes=%d-"); $length = $line["size"] - $offset[0]; header("Content-Length: " . $length); $byteoffset = $offset[0] . "-" . (string)($line["size"] - 1) . "/" . $line["size"]; header("Content-Range: bytes $byteoffset"); Header("Accept-Ranges: bytes"); Header("Connection: close"); Header("Content-Type: audio/mpeg"); Header("Content-disposition: inline; filename=uitzending.mp3"); $mp3 = @fopen($file); fseek($mp3, $offset[0]); fpassthru($mp3); exit; |
Dit werkt niet. Ook had ik dit nog getest:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $file= "http://xxx/uitzending.mp3"; Header("Accept-Ranges: bytes"); Header("Connection: close"); Header("Content-Type: audio/mpeg"); Header("Content-disposition: inline; filename=uitzending"); $fp = fopen ($file, "rb"); fpassthru($fp); fclose($fp); exit; |
Hiermee wordt het streamen wel gestart, maar kan nietverder worden gespoeld.
Iemand die mij eventueel verder kan helpen?