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

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

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

Регистрация: Nov 2008
Сообщений: 25
По умолчанию как можно задержать воспроизведение звука?

Загружаю .mp3 вот таким образом:
Код AS3:
var req:URLRequest = new URLRequest("myName.mp3"); 
var s:Sound = new Sound(req); 
s.play();
Продолжительность звучания myName.mp3 например 30сек
Как можно сделать так чтобы после компиляции 5сек музыка не играла, потом проиграла 10 сек, и потом не играла?

Спасибо

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

Регистрация: Dec 2009
Сообщений: 428
В данном случае звук начинает играть еще до полной загрузки файла по мере подгружения?
Код AS3:
var req:URLRequest = new URLRequest("myName.mp3"); 
var s:Sound = new Sound(req);
s.load(req);
s.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void
{
//Вешаем таймер, ждем пять секунд, s.play(), ждем еще 10, s.close()
}
если надо играть еще в процессе загрузки, то читайте про SoundChannel

Старый 25.12.2009, 15:11
sergeylandar вне форума Посмотреть профиль Отправить личное сообщение для sergeylandar Найти все сообщения от sergeylandar
  № 3  
Ответить с цитированием
sergeylandar
 
Аватар для sergeylandar

Регистрация: Nov 2008
Сообщений: 25
Код AS3:
var snd:Sound = new Sound(new URLRequest("myName.mp3"));
snd.play(5000, 1);
Ну вот так получается что ждем 5сек и воспроизводим музыку 1 раз доконца.
А как теперь сделать так чтобы она не доконца доиграла а только 10сек проиграла и остановилась ?

Старый 25.12.2009, 15:14
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 4  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
осчитываешь таймер на 10 сек и останавливаешь

Старый 25.12.2009, 15:33
sergeylandar вне форума Посмотреть профиль Отправить личное сообщение для sergeylandar Найти все сообщения от sergeylandar
  № 5  
Ответить с цитированием
sergeylandar
 
Аватар для sergeylandar

Регистрация: Nov 2008
Сообщений: 25
что такое таймер и как его повесить?

Старый 25.12.2009, 15:56
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 6  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Читаем

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

Регистрация: Nov 2008
Сообщений: 25
почитал
а почему на этот код
Код AS3:
var req:URLRequest = new URLRequest("myName.mp3"); 
var s:Sound = new Sound(req);
s.load(req);
s.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void
{
//Вешаем таймер, ждем пять секунд, s.play(), ждем еще 10, s.close()
}
флеш ругается?

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

Регистрация: Dec 2009
Сообщений: 428
Извиняюсь, писал в запаре )

Код AS3:
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, loaded);
 
var req:URLRequest = new URLRequest("D:\1.mp3"); 
 
s.load(req);
s.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void
{
//Вешаем таймер, ждем пять секунд, s.play(), ждем еще 10, s.close()
}
Добавлено через 9 минут
в бонус

Код AS3:
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timerListener);
 
var counter:int = 0;
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, loaded);
 
var req:URLRequest = new URLRequest("D:\1.mp3"); 
s.load(req);
 
var channel:SoundChannel;
 
function loaded(event:Event):void
{
	timer.start();
}
 
function timerListener(e:TimerEvent) {
	counter++;
	trace(counter);
	if(counter == 5) {
		channel = s.play();
	}
	if(counter == 15) {
		channel.stop();
                timer.stop();
	}
}


Последний раз редактировалось leofit; 25.12.2009 в 17:08.
Старый 25.12.2009, 17:31
sergeylandar вне форума Посмотреть профиль Отправить личное сообщение для sergeylandar Найти все сообщения от sergeylandar
  № 9  
Ответить с цитированием
sergeylandar
 
Аватар для sergeylandar

Регистрация: Nov 2008
Сообщений: 25
ага, спасибо
так в таком случае получается мы ждем 5 сек и начинаем играть музыку. и в 15 останавливаем проигрывание.

а я хочу что то типа такого:
музыка начинает играть например через 2 секунды, но не с начала а как будто она уже 2секунды играла но мы ее не слышали.
только не получается ее на 3секунде остановить
код:
Код AS3:
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, loaded);
var req:URLRequest=new URLRequest("manscreamdistance.mp3");
s.load(req);
var myTimer:Timer = new Timer(1500, 1);
 
function loaded(event:Event):void {
	//Вешаем таймер, ждем пять секунд, s.play(), ждем еще 10, s.close()
 
    myTimer.addEventListener("timer", timerHandler);
    myTimer.start();
	s.play(2000, 1);
	trace("start");
}
 
function timerHandler(event:TimerEvent):void {
     //s.close(3000)
     trace("stop");
}

Старый 25.12.2009, 21:19
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 10  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Метод close() класса Sound не принимает никаких параметров, Если вам надо будет впоследствии проиграть с 3-й секунды просто сделайте play(3000)

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

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

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


 


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


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