Аудио HTML5 не будет воспроизводиться на мобильных устройствах

Уважаемые разработчики HTML5,

У меня есть некоторые проблемы с этим аудио HTML5 ... Так что давайте перейдем к нему.

ap  = "<audio width='200' height='30' preload='auto' controls autobuffer>";
ap += "<source src='util/blob_audio.php?i=" + w + "&ogg=1' type='audio/ogg' />";
ap += "<source src='util/blob_audio.php?i=" + w + "&mp3=1' type='audio/mpeg' />";
ap += "</audio>";

Я генерирую его в JavaScript, и метод возвращает его при необходимости. Я думаю, мне не стоило упоминать эту переменную "w", это параметр (YouDon'tSay) и все работает просто отлично.

Это должно быть хорошо, верно? Они появляются на настольных компьютерах, но у них возникают проблемы на мобильных устройствах (я тестировал на iPad2, планшете Android 3.2.1, смартфоне Android 2.3.6).

На iPad 2 говорится: «Не удается воспроизвести аудиофайл». в элементе. И Droid показывает аудио элемент по умолчанию, но без регулировки громкости, визуально он говорит, что играет - прыгает с начала до конца.

Заголовки PHP выглядят следующим образом (в blob_audio.php) (мы храним аудио в виде блобов в БД [не спрашивайте меня почему, это была не моя идея]):

header("Content-Type: audio/ogg"); // this is inside of a condition, this is the "ogg" part of it
header('Content-Length: ' . $length);
header('Content-Disposition: inline');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');

Это работает просто отлично, так как все работает на настольных компьютерах.

Я думал, что, возможно, эти форматы (mp3, ogg) не правильно (не поддерживается кодек) кодируются для процессоров архитектуры ARM. Может ли это случиться с mp3?

Мысль? Кто угодно? знак равно

Спасибо Бен

 benqus30 мар. 2012 г., 15:30
У нас есть спор здесь, имеет ли значение, действительно ли ваша кодировка * AVK / VBR / CBR в MP3. Имеет ли это значение? В 2012?

Ответы на вопрос(3)

AAC вместо MP3.

Похоже, что ваш тип контента жестко запрограммирован на audio / ogg - вы хотите убедиться, что он установлен правильно при запросе MP3 / M4A.

 benqus30 мар. 2012 г., 14:35
Таким образом, и iPad, и планшет Android говорят, что mp3 поддерживается, но AAc предназначен только для iPad. Основываясь на посещении планшетов www.html5test.com, mp3 остается в настоящее время. Извините, жестко закодированная вещь находится внутри состояния. Вы можете увидеть параметры GET в части javascript моего вопроса "ogg = 1" и "mp3 = 1". Итак, мы проверяем форматы на основе этого.
Решение Вопроса

Итак, вот факты (см. Ниже в списке):

Проблема в iStuffs -> Мы работаем над безопасным соединением (HTTPS). Это портит обработку звука iShit HTML5. Им нужен некоторый «промежуточный сертификат» - возможно, для аутентификации или я не знаю - между цепочкой сертификатов сервера. Таким образом, эта вещь не работает на нашем тестовом сервере через SSL. Кто знал ... Это работает, когда вы развернете его как обычно. Но вот идет Android, будьте осторожны!

Android забавен, поскольку (как задокументировано -_O) Droid НЕ поддерживает форматы мультимедиа через SSL ниже версии 3.1. Это полный "порок с человечеством" ... Я не понимаю, почему такая проблема заключается в том, чтобы заставить систему аф * кайкинга воспроизводить любое мультимедиа / мультимедиа через соединение F * cking SECURE в 21 веке ... Это должно быть какой-то закон об авторском праве, который я должен снова вырвать ...

Если вы хотите знать, что мы сделали, чтобы решить эту проблему: мы выяснили, что если мы ДЕЙСТВИТЕЛЬНО хотим сделать наше приложение кросс-браузерным и «кросс-совместимым с устройством» (не знаю, правильно ли это называется, но Я уверен, что вы поняли;)), нам нужно «вынуть» аудио (мульти / медиа) из-под SSL. Поэтому для простоты мы создали простой субдомен HTTP (отдельная папка в иерархии) для наших аудиофайлов (сейчас нам нужен только звук) и сделали его доступным через этот субдомен + аутентифицируйте / проверяйте через файл сценария. Так что все идет по протоколу HTTPS, но мульти-медиа отдельно по HTTP.

Работает нормально, на любом устройстве f * cking, в любое время. Я знаю, что это «более масштабное» решение, но это наиболее «реализуемое» решение для любого устройства, на котором мы тестируем эти вещи.

Надеюсь, это помогло кому-то! =) Ура!

 leojg19 февр. 2013 г., 23:51
Я должен поддержать голос. Если бы я мог, я бы сделал это дважды. 1 потому что ваш ответ полезен, 2 потому что вы смеетесь: D

автобуфер". Вот возможные атрибуты, согласно документации:

src
crossorigin
preload
autoplay
mediagroup
loop
muted
controls

type Атрибут задает тип медиаресурса, чтобы помочь агенту пользователя определить, может ли он воспроизвести этот медиаресурс, прежде чем извлекать его. Если указано, его значение должно быть допустимым типом MIME.codecs параметр, который определяют определенные типы MIME, может потребоваться для точного указания способа кодирования ресурса (согласно[RFC4281])

В следующем списке приведены некоторые примеры использованияcodecs= MIME параметр вtype атрибут, действительный не только для аудио, но и для видео файлов тоже.

H.264 Constrained baseline profile video (main and extended video compatible) level 3 and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
H.264 Extended profile video (baseline-compatible) level 3 and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="avc1.58A01E, mp4a.40.2"'>
H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'>
H.264 'High' profile video (incompatible with main, baseline, or extended profiles) level 3 and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="avc1.64001E, mp4a.40.2"'>
MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="mp4v.20.8, mp4a.40.2"'>
MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
<source src='video.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'>
MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP container
<source src='video.3gp' type='video/3gpp; codecs="mp4v.20.8, samr"'>
Theora video and Vorbis audio in Ogg container
<source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'>
Theora video and Speex audio in Ogg container
<source src='video.ogv' type='video/ogg; codecs="theora, speex"'>
Vorbis audio alone in Ogg container
<source src='audio.ogg' type='audio/ogg; codecs=vorbis'>
Speex audio alone in Ogg container
<source src='audio.spx' type='audio/ogg; codecs=speex'>
FLAC audio alone in Ogg container
<source src='audio.oga' type='audio/ogg; codecs=flac'>
Dirac video and Vorbis audio in Ogg container

Видетьhttp://www.whatwg.org/specs/web-apps/current-work/#the-audio-element Больше подробностей.

Ваш ответ на вопрос