Welcome to WebmasterWorld Guest from 23.20.12.34

Forum Moderators: open

Message Too Old, No Replies

Streaming a sequence of video files

     
5:26 am on Mar 24, 2008 (gmt 0)

New User

5+ Year Member

joined:Feb 8, 2008
posts: 8
votes: 0


I'm trying to stream a sequence of small FLV files using PHP and MING library. The SWF file is generated by PHP dynamically on the server, so the video playlist can be updated. I'm new to ActionScript and don't know how to make video2.flv play after video1.flv plays to the end in the following example. When I run the resulting SWF file video2 starts to play right away. Is there any way to fix it?

$movie = new SWFMovie(7);
$movie->setDimension(320,240);
$movie->setBackground(0,0,0);
$movie->setRate(8);

$strAction = "
stop();
netConn = new NetConnection();
netConn.connect(null);
vStream = new NetStream(netConn);
video1.attachVideo(vStream);
vStream.setBufferTime(5);
vStream.play('http://localhost/video1.flv');
vStream.play('http://localhost/video2.flv');";

$stream = new SWFVideoStream();
$item = $movie->add($stream);
$item->setname("video1");
$movie->add(new SWFAction($strAction));
$movie->nextFrame();

3:29 pm on Mar 25, 2008 (gmt 0)

Senior Member

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Nov 28, 2004
posts:7999
votes: 0


It's doing that because as you execute the code, it's immediately replacing vStream with video 2 in your code. It doesn't "know" the first video has ended. You need to put the entire chunk of code in a function, then have an onEnterFrame that listens for the completion of the first video before adding the second one. Sorry to be so vague but I haven't used this particular approach so have never coded it out. :-)

If this is your actual code, you also have an error here
vStream.play('http://localhost/video2.flv');"; <----