Форум / HTML5 / Работа JavaScript API при переключение между HTML5 и Flash
Здравствуйте! Как и многие на форуме, столкнулся с такой задачей впервые. Постараюсь описать задачу как можно кратко… При переходе на определенную страницу, должно воспроизводиться соответствующее ей видео. Видео это представлено в четырёх файлах: video_11.flv и video_11.mp4 для быстрого интернет соединения и video_12.flv и video_12.mp4 — ужатые, для медленного. Два формата — как альтернатива, если браузер какой-то один не поддерживает. Пользователь выбирает один из вариантов. Автоматически выбирается способ подключения плеера (из статьи "Проверка наличия Flash и HTML5"), а вот дальше загвоздка и именно в плане работы с JavaScript API. Если подключать только Flash-вариант, то без проблем я могу запустить через JS тот файл, который нужно (uppodSend(’myplayer’,’file:video-11.flv’);), но при автоматическом выборе HTML5-варианта — команды API работать напрочь отказываются. Если уж и будете пинать, то хоть пинайте в правильную сторону ))

Может быть есть альтернативный способ? К примеру, из БД вытаскивается название видеофайла (без расширения), определяется какой формат видеофайла поддерживается браузером пользователя и инициализируется плеер где параметр расширения подставляется автоматически. Как-то так:

var fileName = 'video_11';
/* тут определяем подходящий формат */
var ext = 'flv'; // как бы определили
var playFile = 'http://site.ru/full_path/' + fileName + '.' + ext; // полный URL к файлу
vars={"m":"video","file": playFile,"uid":"player"};
player = new Uppod(vars);
Lazy_DenСсылка на пост (Смотрели 2855)21.10.12 02:36     Ответить
Ваше имя*
 E-mail* (не публикуется)
 
 
Если пишете о проблеме, то приложите, пожалуйста, ссылку на свой плеер отсюда — Плеер: Файл > Код > Ссылка
Вставка кода — [code][/code] дублировать ответы на e-mail
1
support 21.10.12 - 03:20
Может быть не совсем поняли проблему, но ведь у HTML5 тоже есть JS API ссылка и есть запуск файла
player.Play("url");
2
Lazy_Den 21.10.12 - 04:25
Спасибо за оперативный ответ! Да, API есть, но вызов команд отличается от вызова во Flash-версии. И вот как использовать тот или иной метод в зависимости от подключенной версии — разобраться не могу. Т.е. как автоматизировать этот процесс. Схематически я представляю это так:

var fileName = 'myfile'; // имя файла из БД
if(устройство_поддерживает_MP4){
var ext = 'mp4';
if(устройство_поддерживает_HTML5){
// инициализируем HTML5-версию подключения плеера
Player();
function Player(){
vars={"m":"video","file":fileName + '.' + ext,"uid":"player"};
player = new Uppod(vars);
}
} else {
var flashvars = {"uid":"videoplayer","m":"video","file":fileName + '.' + ext};
// и т.д. Подключаем Flash-версию
}
} else {
// если не mp4, то flv
var ext = 'flv';
// и также, как и выше: проверка на HTML5 и т.д.
}
Сообщить об ошибке на сайте
 Uppod © 2008–2020
Сообщить об ошибке на сайте
Если ошибка относится к плееру, а не сайту, либо Вы хотите получить ответ на вопрос —
лучше написать на форуме