HTML5 загрузить аудио время / метаданные, но не аудио? - PullRequest
1 голос
/ 03 ноября 2010

Я очень застрял.Я запутался с этим, по крайней мере, в течение 30 минут, и я не могу понять, как предварительно загружать только метаданные.

если вы перейдете сюда , вы увидите, что есть атрибут предварительной загрузки, который позволяет вамуказать, что для предварительной загрузки.Я пометил его как метаданные только потому, что хотел продолжительность каждого аудиофайла.Поскольку он не загружался, я попытался .load(), и он загружает реальное аудио, даже если я указал метаданные.

Как загрузить мета в html5 javascript?если он загружает секунду или две аудио, я не возражаю, если он не пытается предварительно загрузить минуты или весь файл.

http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-networkstate

Значение 2 = NETWORK_LOADING, где 1= холостой ход или загружен.

http://jsfiddle.net/CD3BZ/

<body>
<div>Click to test if loaded</div>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
try{
    var a1 = new Audio('http://freshly-ground.com/data/audio/sm2/20060924%20-%20Ghosts%20&%20Goblins%20Reconstructed.ogg');
    $(a1).bind('loadedmetadata', function(e){
        //alert('a1 ' + a1.duration + ' ' + a1.networkState);
    });

    $(a1).bind('canplay', function(e){
        alert('a1z ' + ' ' + a1.networkState);
    });

    $(a1).attr('preload', 'metadata');
    a1.preload = 'metadata';
    //alert(a1.duration);
    //a1.play();
    a1.load();
    $('div').click(function(e){
        alert('a1z ' + ' ' + a1.networkState);
    });
}
catch(e){
    alert(e);
}
</script>

</body>

1 Ответ

2 голосов
/ 25 мая 2011

Вы должны иметь возможность использовать атрибут предварительной загрузки:

<audio autobuffer preload=”metadata” src=”audio.foo”></audio>

Также есть предложение и обсуждение на блоге Криса Пирса , который в основном предлагает сделать паузуа затем установив src в пустую строку.Как поясняется в комментариях к посту, этот метод не идеален ... Вы можете (теоретически) сделать это, как только сработало событие загруженных метаданных, и вы получили нужные метаданные.

Этот вопрос предлагает установить заголовки, которые также могут работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...