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

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

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

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

Доброго вечера! Подскажите мне, пожалуйста, как правильно написать код программы для замедленного видеоролика FLVPlayback, то есть замедлить/ускорить видео?

Как-то пробовала взять с примера FPS, но у меня не получилось. Сработает лишь флэш-анимация, а не для видеоролика. Есть другой способ, заранее создать новый видеоролик, то есть конвертировать с новой скоростью воспроизведения.

Есть ли такая возможность написать такой код AS3?


Код AS3:
import flash.events.MouseEvent;
 
test_txt.text = "FPS = " + stage.frameRate;
 
btn1.addEventListener(MouseEvent.CLICK, goNormal);
btn2.addEventListener(MouseEvent.CLICK, goCrackhead);
btn3.addEventListener(MouseEvent.CLICK, goBionic);
 
function goNormal(e: MouseEvent): void
{
	stage.frameRate = 30;
	test_txt.text = "FPS = " + stage.frameRate;
}
 
function goCrackhead(e: MouseEvent): void
{
	stage.frameRate = 60;
	test_txt.text = "FPS = " + stage.frameRate;
}
 
function goBionic(e: MouseEvent): void
{
	stage.frameRate = 120;
	test_txt.text = "FPS = " + stage.frameRate;
}


Последний раз редактировалось mariamarfi; 22.06.2014 в 12:03.
Старый 22.06.2014, 07:50
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 2  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Самым простым способом будет создать 2 видеоролика, обычный и замедленный. При нажатий переключаться между ними.
__________________
Дети не должны знать о своих родителях

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

Регистрация: Mar 2012
Сообщений: 61
Я это знаю, а как написать AS3? Я не нашла в справочнике и в интернете также... Может, я что-то пропустила... Подскажите мне, пожалуйста.

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Вам надо 2 FLVPlayback, один с обычным видео, другое с заранее подготовленным, замедленным.
Запускаете первое видео, нажали на кнопку - первое убрали, запустили второе.

В коде это обычная функция на кнопке и removeChild, addChild видео на сцену. Сперва сделайте что-бы при нажатий одно убиралось, другое добавлялось.
__________________
Дети не должны знать о своих родителях

Старый 22.06.2014, 15:23
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 5  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
Никогда не работал с видео и не знаю тонкостей, но не будет ли проще регулировать скорость за счет отрисовкие его в BitmapData?

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от LifeIsRhythm Посмотреть сообщение
Никогда не работал с видео и не знаю тонкостей, но не будет ли проще регулировать скорость за счет отрисовкие его в BitmapData?
Ага, и отрисовке звука в SoundChannel
Интересно, сколько вам элементов в массиве битмапдат понадобится, чтобы воспроизвести видео, например, 20 мин? А сколько на 2 часа?)
Памяти хватит-то?)
__________________
There is no thing in this world that is not simple.

Старый 22.06.2014, 15:40
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 7  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
А массив и не нужен, рисовать только то, что нужно показывать.
А вот про звук я не подумал)))

Старый 22.06.2014, 15:58
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 8  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
mariamarfi, там есть методы seek*, попробуй. могут быть проблемы с производительностью, но если они будут незначительны, то самый нормальный вариант без дублирования файлов.

но лучший вариант для пользователя - это заранее подготовить несколько файлов.
потому что если framerate увеличить вдвое, то считай скорость загрузки потребуется выше.

LifeIsRhythm,
SuriTheAngel,
Цитата:
не будет ли проще регулировать скорость за счет отрисовкие его в BitmapData?
это если уменьшать framerate, если увеличивать, то нужно другое искать.
Цитата:
А массив и не нужен, рисовать только то, что нужно показывать.
не получится, нужен массив.
Цитата:
Интересно, сколько вам элементов в массиве битмапдат понадобится, чтобы воспроизвести видео, например, 20 мин? А сколько на 2 часа?)
Памяти хватит-то?)
отрисовал в буфер минуту-две, и поставил видео на паузу. когда фреймы начнут заканчиваться, опять начать отрисовывать в буфер.

но это все равно не вариант, если не разделять звукодорожку от видео. а если это делать, то можно сразу подготовить несколько видео с разным fps

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Код AS3:
не получится, нужен массив.
Если работа с видео такая же, как и работа со звуком, то не нужен.
Можно действительно отрисовывать в BitmapData, перед этим вызывая метод play(currentMillisecond);
А вот со звуком получится сложнее. И, скорее всего, будет сильная рассинхронизация даже если найти способ замедлять звук. Хотя можно и проигрывать звук относительно currentMillisecond тоже. Но вы услышите только рывки, звук будет как стиральная машинка, которая раскрутилась вовсю. Я видел такую реализацию в каких-то плеерах, если честно, то норм.
__________________
There is no thing in this world that is not simple.

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

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

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


 


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


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