Добрый вечер, форумчане. Программа у меня сработало нормально, есть проблема одна... Один левый ролик нормально проигрывается, а второй тормозит.. Причина?
Код AS3:
import fl.video.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.video.FLVPlayback;
import flash.utils.Timer;
stop();
var server: String = "http://***";
txt_alf.alpha = 0;
var myLoader: URLLoader = new URLLoader();
myLoader.load(new URLRequest(server + "/engine_2.php?type=1&q=" + Math.random())); // адрес скрипта
myLoader.addEventListener(Event.COMPLETE, loaded);
var videos: Array;
var cur: int =- 1;
var max: Array = new Array();
var playStopFlag_3: Boolean = true;
var dontStop1: Boolean = true;
var dontStop2: Boolean = true;
var curArr = 0;
var dur1: Number = 0;
var dur2: Number = 0;
var duration_1: Number = 0;
var duration_2: Number = 0;
var stopP: int = 1;
var lastP1: Number = 0;
var lastP2: Number = 0;
var timer: Timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, handlerOnPlaying);
timer.start();
function loaded(event:Event)
{
videos = event.target.data.split("^");
for (var i: int = 0; i < videos.length; i++)
{
videos[i] = videos[i].split("#");
max.push(videos[i].length);
for (var j: int = 0; j < videos[i].length; j++)
{
videos[i][j] = videos[i][j].split("*");
}
}
cur = 0;
playVideos();
........
}
function setCat(tp): void
{
if (tp==3) {
curArr = tp;
cur = 0;
playVideos();
} else {
curArr = tp;
cur = 0;
playVideos();
}
}
function playVideos()
{
if (curArr==3) {
} else {
stopP = 1;
title_1.text = videos[curArr][cur][0];
title_2.text = videos[curArr][cur][3];
nav.playPauseButton.gotoAndStop("Play");
playStopFlag_3 = true;
v1.source = server + "/" + videos[curArr][cur][1];
v2.source = server + "/" + videos[curArr][cur][4];
v1.play();//v1.pause();
v1.seek(0);
v2.play();//v2.pause();
v2.seek(0);
}
}
function play1()
{
stopP = 0;
v1.source = server + "/" + videos[curArr][cur][1];
v1.play();
//v1.stop();
//v1.play();
nav.playPauseButton.gotoAndStop("Pause");
playStopFlag_3 = false;
}
function play2()
{
stopP = 0;
v2.source = server + "/" + videos[curArr][cur][4];
v2.play();
//v2.stop();
//v2.play();
nav.playPauseButton.gotoAndStop("Pause");
playStopFlag_3 = false;
}
function playSlow1(e)
{
stopP = 0;
v1.source = server + "/" + videos[curArr][cur][2];
v1.play();
//v1.stop();
//v1.play();
nav.playPauseButton.gotoAndStop("Play");
playStopFlag_3 = false;
}
function playSlow2(e)
{
stopP = 0;
v2.source = server + "/" + videos[curArr][cur][5];
v2.play();
//v2.stop();
//v2.play();
nav.playPauseButton.gotoAndStop("Play");
playStopFlag_3 = false;
}
nav.predButton.addEventListener(MouseEvent.CLICK, playPrev);
nav.nextButton.addEventListener(MouseEvent.CLICK, playNext);
function playNext(e)
{
cur += 1;
if (cur > max[curArr] - 1) cur = 0;
playVideos()
}
function playPrev(e)
{
cur -= 1;
if (cur < 0) cur = max[curArr] - 1;
playVideos()
}
v1.addEventListener(fl.video.MetadataEvent.METADATA_RECEIVED, handlerMetadataRecived_1);
v2.addEventListener(fl.video.MetadataEvent.METADATA_RECEIVED, handlerMetadataRecived_2);
var duration:Number;
function handlerMetadataRecived_1(event: fl.video.MetadataEvent): void
{
dur1 = v1.metadata["duration"];
duration_1 = Math.floor(v1.metadata["duration"]);
var seconds: Number = Math.floor(duration_1);
var minute: Number = Math.floor(seconds / 60);
seconds %= 60;
minute %= 60;
var display_seconds: String = "";
var display_minute: String = "";
if (seconds < 10)
{
display_seconds = "0" + seconds;
}
else
{
display_seconds = "" + seconds;
}
if (minute < 10)
{
display_minute = "0" + minute;
}
else
{
display_minute = "" + minute;
}
}
function handlerMetadataRecived_2(event:fl.video.MetadataEvent):void
{
dur2 = v2.metadata["duration"];
duration_2 = Math.floor(v2.metadata["duration"]);
var seconds: Number = Math.floor(duration_2);
var minute: Number = Math.floor(seconds / 60);
seconds %= 60;
minute %= 60;
var display_seconds: String = "";
var display_minute: String = "";
if (seconds < 10)
{
display_seconds = "0" + seconds;
}
else
{
display_seconds = "" + seconds;
}
if (minute < 10)
{
display_minute = "0" + minute;
}
else
{
display_minute = "" + minute;
}
}
function handlerOnPlaying(event: TimerEvent): void
{
var seconds: Number = Math.floor(v1.playheadTime);
var minute: Number = Math.floor(seconds / 60);
seconds %= 60;
minute %= 60;
var display_seconds: String = "";
var display_minute: String = "";
if (seconds < 10)
{
display_seconds = "0" + seconds;
}
else
{
display_seconds = "" + seconds;
}
if (minute < 10)
{
display_minute = "0" + minute;
}
else
{
display_minute = "" + minute;
}
if ((v1.playheadTime >= duration_1 - 0.1) && (stopP == 0))
{
//v1.pause();
//v1.seek(0);
//playStopFlag_3 = false;
//nav.playPauseButton.gotoAndStop("Pause");
if (dur2 > dur1)
{
//playStopFlag_3 = true;
//nav.playPauseButton.gotoAndStop("Play");
//play1();
//play2();
v1.pause();
v1.seek(0);
v2.pause();
v2.seek(0);
v1.play();
v2.play();
}
}
lastP1 = v1.playheadTime;
//
seconds = Math.floor(v2.playheadTime);
minute = Math.floor(seconds / 60);
seconds %= 60;
minute %= 60;
display_seconds = "";
display_minute = "";
if (seconds < 10)
{
display_seconds = "0" + seconds;
}
else
{
display_seconds = "" + seconds;
}
if (minute < 10)
{
display_minute = "0" + minute;
}
else
{
display_minute = "" + minute;
}
if ((v2.playheadTime >= duration_2 - 0.1) && (stopP == 0))
{
v2.pause();
v2.seek(0);
//playStopFlag_3 = false;
//nav.playPauseButton.gotoAndStop("Pause");
if (dur2 <= dur1)
{
//playStopFlag_3 = true;
//nav.playPauseButton.gotoAndStop("Play");
//play2();
//play1();
v1.pause();
v1.seek(0);
v2.pause();
v2.seek(0);
v1.play();
v2.play();
}
}
lastP2 = v2.playheadTime;
}
nav.playPauseButton.addEventListener(MouseEvent.CLICK, handlerPlayPause_3);
nav.playPauseButton.addEventListener(MouseEvent.MOUSE_OVER, handlerMouseOver_3);
nav.playPauseButton.addEventListener(MouseEvent.MOUSE_OUT, handlerMouseOut_3);
nav.playPauseButton.buttonMode = true;
function handlerPlayPause_3(event: MouseEvent): void
{
if (!playStopFlag_3)
{
stopP = 1;
v1.pause();
v2.pause();
nav.playPauseButton.gotoAndStop("PlayOver");
playStopFlag_3 = true;
}
else
{
play1();
play2();
}
}
function handlerMouseOver_3(event: MouseEvent): void
{
if (!playStopFlag_3)
{
nav.playPauseButton.gotoAndStop("PauseOver");
}
else
{
nav.playPauseButton.gotoAndStop("PlayOver");
}
}
function handlerMouseOut_3(event: MouseEvent): void
{
if (!playStopFlag_3)
{
nav.playPauseButton.gotoAndStop("Pause");
}
else
{
nav.playPauseButton.gotoAndStop("Play");
}
}
nav.playSlow.addEventListener(MouseEvent.CLICK, function(e)
{
playSlow1(1);
playSlow2(1);
});
PHP код:
<?php
$db_host = "...";
$db_user = "...";
$db_pass = "...";
$db_name = "...";
$db_id = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $db_id);
mysql_query ("set character_set_client = 'utf8'");
mysql_query ("set character_set_results = 'utf8'");
mysql_query ("set collation_connection = 'utf8_general_ci'");
$query = "select * from demo_sounds_double";
$result = mysql_query($query, $db_id);
for ($i = 0; $row = mysql_fetch_row($result); $i++)
{
if ($i != 0) echo "#";
echo "".$row[1]."*".$row[2]."*".$row[3]."*".$row[4]."*".$row[5]."*".$row[6]."";
}
?>