2012-07-23 6 views
0

У меня есть несколько обучающих видеороликов, созданных с использованием adobe captivate 6. Когда я просматриваю видеоролики, которые они берут от 10 до 60 секунд для загрузки до начала любого воспроизведения, прежде чем что-нибудь появится в окне (файлы варьируются от 1 МБ до 5 МБ) , Я загружаю их в диалоговое окно jquery-ui, используя jquery, и просто позволяю браузеру начать воспроизведение, когда файл будет полностью загружен.Как я могу получить .swf-файл, чтобы начать игру сразу?

Проблема, которую я имею, ждет .swf для полной загрузки до начала игры. Я бы хотел, чтобы он начал играть, а затем продолжал загрузку, когда он играет, поэтому пользователям не нужно так долго ждать, пока они что-то не увидят.

Видео тренировки, подобные этому, являются относительно новой областью для меня, поэтому я действительно не знаю, какие у меня есть варианты ... если .swf - это не тот путь, какие у меня варианты с помощью увлечения? Я попробовал экспортировать youtube, который был создан, но он изменил размер видео в соответствии с youtube и делает шрифт слишком малым для чтения.

Когда я смотрю видео на YouTube, они начинают игру сразу, но продолжайте загрузку, когда вы смотрите ... Мне нравится эта концепция и интересно, можно ли что-то сделать с моими существующими .swf-файлами.

Каковы варианты и возможные решения этой проблемы?

Заранее за вашу помощь.

Вот вызов, чтобы загрузить диалоговое окно:

<span onclick="$('#popup_tutorial').dialog('option', 'position', 'top').dialog('option','title','Portfolios - Creating a new portfolio').load('tutorials/acctg_payments.php').dialog('widget').dialog('open');" class="a_link edit_link">View Tutorial</span> 

Вот является #popup_tutorial HTML:

<div id="popup_tutorial" style="text-align:left"></div> 
<script type="text/javascript"> 
    $("#popup_tutorial").dialog({ 
     bgiframe: true, 
     autoOpen: false, 
     Height: 740, 
     width: 900, 
     modal: false, 
     close: function() {$(this).empty();} 
    }); 
</script> 

и вот страница .php, который содержит код .swf и получает размещенном внутри #popup_tutorial div:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title></title> 

<script src="standard.js" type="text/javascript"></script> 
</head> 

<body bgcolor="#f5f4f1"> 

    <div id="CaptivateContent">&nbsp; 
    </div> 
    <script type="text/javascript"> 
     var so = new SWFObject("acctg_payments_making.swf", "Captivate", "881", "720", "10", "#CCCCCC"); 
     so.addParam("quality", "high"); 
     so.addParam("name", "Captivate"); 
     so.addParam("id", "Captivate"); 
     so.addParam("wmode", "window"); 
     so.addParam("bgcolor","#f5f4f1"); 
     so.addParam("menu", "false"); 
     so.addParam("AllowScriptAccess","always"); 
     so.addVariable("variable1", "value1"); 
     so.setAttribute("redirectUrl", "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"); 
     so.write("CaptivateContent"); 
    </script> 


    <script type="text/javascript"> 
     document.getElementById('Captivate').focus(); 
     document.Captivate.focus(); 
    </script> 
</body> 
</html> 

ответ

0

Captivate и большинство флеш-роликов не построены в линейные моды в качестве фильмов, хотя некоторые из их содержимого могут появиться таким образом. Для SWF существует много интерактивной логики. Тем не менее, вы можете почти видеть, что они похожи на DLL, EXE, Java JAR или IPA (iphone), которые не могут быть запущены до тех пор, пока не будет загружена вся бинарная версия.

Сказанное означает, что SWF предоставляет разработчикам контента возможность запускать и воспроизводить контент, даже если SWF частично загружен, но разработчик, который производит SWF или программу, способен производить этот вывод, как правило, это очень что это уровень, который большинство разработчиков еще не преследует. В вашем случае я не думаю, что Captivate предоставляет такую ​​возможность.

Однако, если вы хотите, чтобы это произошло, вы могли бы подумать о том, чтобы разбить фильмы Captivate на более мелкие фильмы и объединить их вместе, но я сомневаюсь, что Captivate предварительно загрузит следующий, как будет воспроизводиться текущий фильм.

+0

Спасибо за ответ ... Я заметил, если кэш браузера скачал файл, в следующий раз, когда я нажимаю на него, он будет сразу играть в нее ... было бы возможно загрузить эти в клиенты cach и готовы ли они к ним ... или может помочь что-то вроде memcache? – Ronedog

0

Captivate 6 и 7 (и, вероятно, 8) позволяют определить, какой процент вашего фильма должен быть загружен до начала воспроизведения фильма. Я не использовал Captivate 6 через некоторое время, поэтому не помню, где именно это находится в пользовательском интерфейсе, но в Captivate 7, выберите Quiz -> Quiz Preferences из главного меню, чтобы открыть диалоговое окно настроек. Там вы можете настроить preloader %. Это процент фильма, который будет загружен до начала игры. По умолчанию он установлен на уровне 100%, что может объяснить, почему ваш фильм не начинается, пока он не будет полностью загружен.

По моему опыту установка этого% будет работать в некоторых настройках, но не в других.Тем не менее, это стоит того.

-Patrick