Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прерывается синхронное проигрывание двух видеороликов (http://www.flasher.ru/forum/showthread.php?t=210669)

mariamarfi 17.04.2015 17:46

Прерывается синхронное проигрывание двух видеороликов
 
Добрый вечер, форумчане. Программа у меня сработало нормально, есть проблема одна... Один левый ролик нормально проигрывается, а второй тормозит.. Причина?

Код 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]."";
}
 
?>



Часовой пояс GMT +4, время: 20:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.