Как я могу заставить jPlayer показывать продолжительность трека перед нажатием кнопки воспроизведения?

Я использую jPlayer для отображения аудиоплеера для mp3-файлов, а в поле продолжительности отображается 00:00, пока я не нажму кнопку воспроизведения, а затем во время воспроизведения отображается правильная продолжительность. (Обратите внимание, что это другой симптом, чем в этот похожий вопрос .)

Как я могу заставить jPlayer подобрать и отобразить продолжительность до того, как пользователь нажмет кнопку воспроизведения (чтобы он знал, какова продолжительность аудиоклипа, прежде чем принять решение о его воспроизведении)? Спасибо.


person Joshua Frank    schedule 20.08.2012    source источник


Ответы (1)


Оказывается, jPlayer поддерживает аргумент HTML5 preload, поэтому добавление preload: 'auto' к параметрам конструктора jPlayer устраняет эту проблему и отображает продолжительность дорожки. Однако это также загружает весь аудиофайл, что раздражает, поскольку может использовать большую пропускную способность для звуковой дорожки, которую пользователь может никогда не воспроизвести. А в моем случае еще хуже, потому что у меня есть страница с дюжиной пользовательских историй, и страница загружает их все.

К сожалению, есть вариант preload: 'metadata', который звучит так, как будто он должен делать именно то, что я хочу, а именно загружать метаданные дорожки без загрузки всего файла, но это, похоже, не работает. По-видимому, это то, что браузеры должны поддерживать, но пока не поддерживают.

На данный момент я либо пропущу эту функцию, либо создам серверную часть, чтобы проверить продолжительность и передать ее через отдельный вызов AJAX.

person Joshua Frank    schedule 07.09.2012