HTML5 и аудио-тег: ссылки перенаправления, не включая расширение файла, не загружаются в FF / Chromium - PullRequest
4 голосов
/ 05 июля 2011

У меня досадная проблема с тегом и FF / Chromium, так как медиафайлы не будут воспроизводиться, когда я этого ожидаю. Opera, кажется, справляется с этим правильно.

У нас есть аудиофайлы для воспроизведения с использованием соответствующего тега HTML5 . Тег

включает медиа в контейнере OGG только для аудио. Однако в атрибуте src в атрибуте *1008* sgg-расширение ogg имеет значение , а не , поэтому ссылки src выглядят как http://localhost:1234/a/b/cdefg/Xyz (Restful API использует перенаправление чтобы получить актуальный медиафайл).

Следующий код является частью веб-страницы, которая должна отображать проигрыватель HTML5:

    <div class="mainContent">
    <audio id="aud1" height="360" width="640" autoplay="false" controls="controls" tabindex="0">
    <source type="audio/ogg" src="http://localhost:1234/a/b/cdefg/Xyz"></source>
    Your browser does not support HTML5.
    </audio>
    <div class="divider"></div>
    <a class="homeLink" href="/index.html">Take me back to the Homepage</a>
    </div>

Воспроизводимый носитель, безусловно, является файлом OGG, предназначенным только для аудио.

Я тестировал этот код на Ubuntu 10.04 FF5.0, Chromium 12.0.742.91 (87961) и Opera 11.50 со следующими результатами:

  1. FF: не воспроизводится
  2. Хром: не воспроизводится
  3. Опера: ОК

Я встроил небольшой скрипт для отображения различных атрибутов HTMLMediaElement (атрибуты: networkState, readyState, см.), Который дает следующие результаты:

  1. FF => networkState: NETWORK_LOADED (источник мультимедиа закончил загрузку), readyState: HAVE_NOTHING (нет носителя для воспроизведения)
  2. Chromium => networkState: NETWORK_LOADED (источник мультимедиа завершил загрузку), readyState: HAVE_NOTHING (нет носителя для воспроизведения)
  3. Opera => networkState: NETWORK_IDLE, readyState: HAVE_ENOUGH_DATA

(Обратите внимание, что описания для различных состояний взяты с сайта Safari Dev: http://developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLMediaElementClassReference/HTMLMediaElement/HTMLMediaElement.html)

Если я вставлю src , который напрямую указывает на OGG-файл только для аудио (например, http://en.wikipedia.org/wiki/File:Tromboon-sample.ogg),, тогда он работает как положено. Похоже, что FF и Chromium, похоже, имеют проблемы со ссылками, не включая окончательное имя файла?

У кого-нибудь есть идея или намек на это?

Ура, Chris

1 Ответ

1 голос
/ 24 августа 2012

Я знаю, что вы уже исправили это, но убедитесь, что вы не пропустили MIME-типы:

HTML5 <video>

.ogv
video/ogg

.webm
video/webm

HTML5 <audio>

.oga
audio/ogg

.mp3
audio/mp3

HTML5 <video> <audio>

.mp4
video/mp4

.ogg
application/ogg
...