Загрузка звукового файла приостановлена, а затем начать воспроизведение через несколько секунд - PullRequest
0 голосов
/ 26 апреля 2011

Я использую setTimeout для воспроизведения аудиофайла через 8 секунд:

   setTimeout(function() {
        document.getElementById('delayed_play').style.display = 'block';
    }, 8 * 1000);   
<div id="delayed_play">

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

Есть ли способ приостановить загрузку файла и указать, чтобы он запускался через 8 секунд?

Это аудиофайл с остальной частью скрипта:

    <script type="text/javascript">
  document.getElementById('delayed_play').style.display = 'none';
    </script>

<object height="0" width="40%">
<embed allowscriptaccess="always" height="0" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F14151193%3Fsecret_token%3Ds-OVmfN&amp;show_comments=false&amp;auto_play=true&amp;color=ff7700" type="application/x-shockwave-flash" width="100%"></embed>
</object>

Спасибо

1 Ответ

1 голос
/ 26 апреля 2011

Я не знаком с API, но вот что я бы попробовал:

  1. Загрузите плеер со страницей, но отключите автозапуск (в URL должен быть параметр, я думаю)
  2. Установите таймер для события загрузки страницы, которое выполняет функцию, которая вызывает соответствующую функцию API для запуска проигрывателя.

Это требует знания API, который должен иметь документацию на сайте.


Документацию по игроку можно найти по адресу http://developers.soundcloud.com/docs/widget.

SoundCloud Player настраивается с помощью параметров URL и может создаваться через JavaScript API.

Интересующий параметр auto_play , который может отключить автоматическое воспроизведение звука.

Вы можете управлять плеером, как описано в разделе «Методы виджетов»:

api_play () Игрок начинает играть либо с 0, либо с позиции последней приостановленной дорожки. Если виджет содержит несколько дорожек, он начнет воспроизведение первой дорожки.

Вы можете привязать свой код к различным событиям, описанным в разделе «Типы событий».

onPlayerReady Запускается, когда виджет загрузил свои данные и готов принимать внешние вызовы. Вызывается только один раз для каждого экземпляра виджета.

onMediaBuffering Запускается, когда виджет все еще буферизуется. data (второй аргумент) содержит свойство процентов . Это также означает, что вы еще не можете искать в треке полностью

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

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