Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.04.2015, 17:46
mariamarfi вне форума Посмотреть профиль Отправить личное сообщение для mariamarfi Найти все сообщения от mariamarfi
  № 1  
Ответить с цитированием
mariamarfi

Регистрация: Mar 2012
Сообщений: 61
По умолчанию Прерывается синхронное проигрывание двух видеороликов

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

Код 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, время: 01:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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