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

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

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

Регистрация: Sep 2017
Сообщений: 11
По умолчанию Объединение двух кодов проигрывания видео

Здравствуйте.
Подскажите - как объединить два кода в документе Main.as
(Первый код - растягивает видео под окно и добавляет бесконечные повторы. А второй код - проигрывает видео без звука.)

Код AS3:
var MyVideo:Video = new Video();
addChild(MyVideo);
 
 
MyVideo.height= 537.6;
MyVideo.width= 720.6;
var MyNC:NetConnection = new NetConnection();
MyNC.connect(null);
 
var MyNS:NetStream = new NetStream(MyNC);
MyNS.play("1.mp4");
 
MyVideo.attachNetStream(MyNS);
 
 
MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
function asyncErrorHandler(event:AsyncErrorEvent):void 
{ 
}
 
MyNS.addEventListener(NetStatusEvent.NET_STATUS, goAgain);
function goAgain (event:NetStatusEvent): void {
switch (event.info.code) {
case "NetStream.Play.Stop":
MyNS.seek(0);
break;
}
}
Код AS3:
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.media.SoundTransform;
 
    public class Main extends Sprite {
        private var videoURL:String = "1.mp4";
        private var connection:NetConnection;
        private var stream:NetStream;
        private var volume:Number;
 
        public function Main() {
            volume = 1;
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
            stage.addEventListener(MouseEvent.CLICK, onClick);
        }
 
        private function onClick(e:MouseEvent):void{
            volume+=0.2;
            if(volume>1){
                volume = 0;
            }
            setVolume(volume);
        }
 
        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
volume = 0;
            setVolume(volume);
        }
 
        private function connectStream():void {
            stream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
 
        }
 
        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
 
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }
        private function setVolume(volume:Number):void {
            trace("setVolume: " + volume.toFixed(2));
            var transform:SoundTransform = stream.soundTransform;
            transform.volume = volume;
            stream.soundTransform = transform;
 
 
        }
    }
 }

Старый 19.01.2018, 16:40
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 2  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
надо найти, где во втором коде присваивается volume стриму и перенести это в первый:

Код AS3:
var myVideo:Video = new Video();
	myVideo.height = 537.6;
	myVideo.width = 720.6;
	addChild(myVideo);
 
var netConnection:NetConnection = new NetConnection();
	netConnection.connect(null);
 
var myStream:NetStream = new NetStream(netConnection);
	myStream.play("1.mp4");
 
var transform:SoundTransform = myStream.soundTransform;
    transform.volume = 0;
 
myStream.soundTransform = transform;
 
myStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, function (event:AsyncErrorEvent):void {}); 
myStream.addEventListener(NetStatusEvent.NET_STATUS, goAgain);
 
myVideo.attachNetStream(myStream);
 
function goAgain (event:NetStatusEvent): void 
{
	if(event.info.code == "NetStream.Play.Stop") 
			myStream.seek(0);
}
__________________
while(live()) { hope(); }

Старый 19.01.2018, 17:16
SergVrn вне форума Посмотреть профиль Отправить личное сообщение для SergVrn Найти все сообщения от SergVrn
  № 3  
Ответить с цитированием
SergVrn

Регистрация: Sep 2017
Сообщений: 11
ZergMaster , не работает.

Выдает ошибку :
"Монтажный кадр 1, слой "Слой 1", кадр 1, строка 12, столбец 5 1152: Конфликт с наследуемым определением flash.display: DisplayObject.transform в пространстве имен public."

Старый 19.01.2018, 17:29
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 4  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
ну тада незнаааааю. Можно попробовать добавить в начало документа
Код AS3:
import flash.media.SoundTransform;
вместо
Код AS3:
var transform:SoundTransform = myStream.soundTransform;
    transform.volume = 0;
написать
Код AS3:
myStream.soundTransform = new SoundTransform(0);
либо
Код AS3:
myStream.soundTransform = new flash.media.SoundTransform(0);
либо
Код AS3:
myStream.soundTransform.volume = 0;
__________________
while(live()) { hope(); }

Старый 19.01.2018, 17:38
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 5  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
а второй код вынесен в отдельный as файл?

Старый 19.01.2018, 19:51
SergVrn вне форума Посмотреть профиль Отправить личное сообщение для SergVrn Найти все сообщения от SergVrn
  № 6  
Ответить с цитированием
SergVrn

Регистрация: Sep 2017
Сообщений: 11
ZergMaster, теперь заработало.
Спасибо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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