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

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

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

Регистрация: Jun 2004
Сообщений: 194
По умолчанию некорректная запись видео

Добрый день. Делаю приложение для записи и предварительного просмотра видео. Упрощенный код:
Код AS3:
 
public function onMetaData( p_o:Object ):void
		{
			trace("onMetaData");
			if( p_o.duration != null && !isNaN(p_o.duration) ){
				_nFeedDur = Number( p_o.duration );
				trace("_nFeedDur:" + _nFeedDur);
				_nStartDur = getTimer();
				trace("_nStartDur:" + _nStartDur);
				}
			}
		};
 
private function createNetStream():void
		{
			ns = new NetStream( nc );
			ns.client = this;
			ns.addEventListener(NetStatusEvent.NET_STATUS, internalNetStatusHandler);
			vidView.attachCamera( cam );
		};
public function startPublish():void
		{
			ns.attachCamera(cam); 
			ns.attachAudio(mic); 
			ns.publish( streamName, recordType ); 
				vidView.attachCamera( cam );
		};
 
		public function startPlay():void
		{
			seekToLive = true;
			vidView.attachNetStream( ns );
			ns.play( streamName, 0, -1 );
		};
 
		public function stopPlay():void
		{
			ns.close(); 
			trace("stopPlay ");
		};
И вот так отображаю время:
Код AS3:
private function onTime( p_e:TimerEvent=null ):void
		{
			var secs:int = ns.time;
			this.dispatchEvent( new DataEvent( "time", false,false, secs.toString() ) );
			trace("onTime  secs: "+secs);
		};
 
		private function checkTime( p_b:Boolean ):void
		{
			if( p_b ){
				if( !t.running ){
					t.start();
				}
			} else {
				if( t.running ){
					("Timer Stop");
					t.stop();
				}
			}
		};
Проблема в том, что иногда видео записывается некорректно. А точнее как-то некорректно соотносится со временем. например, фактическая длительность видео - 5 сек, а duration в onMetaData - 10. И при проигрывании ns.time перескакивает с 1 сразу на 7 и тд. Проблема именно с записью, а не с отображением.
Иногда также вроде звук пропадает где-то на середине
Помогите, пожалуйста разобраться что к чему.
Спасибо.

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

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

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


 


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


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