← Форум / 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);
Может быть есть альтернативный способ? К примеру, из БД вытаскивается название видеофайла (без расширения), определяется какой формат видеофайла поддерживается браузером пользователя и инициализируется плеер где параметр расширения подставляется автоматически. Как-то так:
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 Ответить |
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 и т.д.
}