Как получить файл.swf для немедленного начала воспроизведения?
У меня есть несколько обучающих видео, созданных с использованием Adobe Captivate 6. Когда я смотрю видео, их загрузка занимает от 10 до 60 секунд, прежде чем начинается любое воспроизведение, прежде чем что-либо отобразится в окне (размер файлов от 1 МБ до 5 МБ). Я загружаю их в диалоговое окно jquery-ui, используя jquery, и просто позволяю браузеру начать воспроизведение, когда файл будет полностью загружен.
Проблема, с которой я столкнулся, - это ожидание полной загрузки.swf перед началом игры. Я бы хотел, чтобы он начал играть, а затем продолжил загрузку во время воспроизведения, чтобы пользователям не пришлось так долго ждать, прежде чем они что-то увидят.
Подобные видео-тренинги являются для меня относительно новой областью, поэтому я не знаю, какие у меня есть варианты... если.swf - это не тот путь, какие у меня варианты с использованием captivate? Я попытался экспортировать YouTube, который имеет captviate, но он изменил размеры видео, чтобы соответствовать 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 и помещается внутри div #popup_tutorial:
<!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">
</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>
2 ответа
Привлекают внимание, и большинство фильмов Flash не создаются линейно, как фильмы, даже если некоторые из их содержимого могут отображаться таким образом. Для игры в SWF существует огромное количество интерактивной логики. Тем не менее, вы можете почти увидеть, что они похожи на DLL, EXE, Java JAR или IPA (iphone), которые не могут быть запущены, пока весь двоичный файл не будет загружен.
Тем не менее, SWF предоставляет разработчикам контента средства для запуска и воспроизведения контента, даже если SWF частично загружен, но это зависит от разработчика, который создает SWF, или от способности программы создавать этот вывод, как правило, это очень сложно уровень, который большинству разработчиков еще предстоит достичь. В вашем случае, я не думаю, что Captivate предоставляет такую возможность.
Однако, если вы хотите, чтобы это произошло, вы можете разбить фильмы Captivate на более мелкие фильмы и объединить их в цепочку, но я сомневаюсь, что Captivate предварительно загрузит следующий фильм во время воспроизведения текущего фильма.
Захваты 6 и 7 (и, вероятно, 8) позволяют вам определить, какой процент вашего фильма должен быть загружен до начала воспроизведения фильма. Я не использовал Captivate 6 некоторое время, поэтому я не помню, где именно он находится в пользовательском интерфейсе, но в Captivate 7 выберите Quiz -> Quiz Preferences
из главного меню, чтобы открыть диалоговое окно настроек. Там вы можете настроить preloader %
, Это процент фильма, который будет загружен до начала воспроизведения. По умолчанию он установлен на 100%, что может объяснить, почему ваш фильм не начинается до полной загрузки.
В моем опыте настройки этот% будет работать в некоторых настройках, но не в других. Тем не менее, стоит попробовать.
-Патрик