Html5, підтримувані формати аудіо і відео

У компаній побільше (таких як Microsoft, Google або Apple) є свої виправдання чому треба уникати неліцензованих стандартів. Вони скаржаться, що якість роботи цих стандартів буде нижче (в даний час вони не підтримують апаратне прискорення) і що вони не так широко використовуються, як запатентовані стандарти, такі як, наприклад, H.264, який використовується в камкордерах, програвачах Blu-Ray і в багатьох інших різних пристроях.

Але найбільша проблема може полягати в тому, що ніхто по-справжньому не впевнений, що ці неліцензовані стандарти не пов'язані з будь-чиєї інтелектуальною власністю. Якщо такі зв'язки є, використовуючи ці стандарти, великі компанії на кшталт Microsoft або Apple, роблять себе уразливими до дорогих позовами за порушення патентних прав, які можуть тягнутися роками.

Знайомимося з форматами

Безліч форматів: як сподобатися всім браузерам

На щастя, елементи

Але перш ніж приступати до роботи, потрібно визначитися зі стратегією підтримки браузерів, які не визнають HTML5. За великим рахунком, веб-розробники мають на вибір два хороших шляху:

Використовувати Flash в якості основного рішення, а HTML5-рішення в якості резервного

Використовувати HTML5 в якості основного рішення, а Flash-рішення - в якості резервного

У наступних розділах ми будемо втілювати другий підхід в життя. Таким чином, ми забезпечимо для браузерів чисто HTML5-рішення у всіх випадках, коли це можливо.

елемент

Першим кроком в забезпеченні підтримки декількох форматів буде видалення атрибута src з елемента

В даному випадку елемент

Теоретично, браузер може визначити, чи підтримує він чи ні конкретний файл, завантаживши та дослідивши невелику його частину. Але найкращим підходом буде використовувати атрибут type. щоб надати правильний MIME-тип. Таким чином, браузер спробує завантажити тільки той файл, який він, як вважає, може відтворити.

Резервне рішення Flash

Споконвіку всі браузери обробляють нераспознаваемой теги однаково - ігнорують їх. Наприклад, якщо Internet Explorer 8 зустрічається відкриває тег елемента

браузери, які не розуміють HTML5, поводяться, як ніби-то вони бачили ось цю розмітку:

Ця особливість і лежить в основі безшовного надання резервного рішення для старих браузерів.

У наступному лістингу приведений приклад використання в якості резервної рішення в елементі

Якщо ж потрібно, навпаки, реалізувати основне рішення у вигляді Flash, а резервне - у вигляді HTML, потрібно просто переставити рядки з попереднього прикладу. Починаємо з елемента , в який вставляємо елемент :