2015-03-07 2 views
0

Я использую этот сценарий, чтобы играть список песен: http://jsfiddle.net/WsXX3/33/Stop html5 аудиоплеер из автоматического воспроизведения

К сожалению, мой браузер не хватает, и я надеюсь, что кто-то может помочь!

Как остановить автоматический запуск этого скрипта? Я хочу, чтобы звук был инициирован пользователем. Я пробовал использовать preload = "none" в html-коде, но это не влияет, поэтому я предполагаю его в javascript.

var audio; 
var playlist; 
var tracks; 
var current; 

init(); 
function init(){ 
    current = 0; 
    audio = $('audio'); 
    playlist = $('#playlist'); 
    tracks = playlist.find('li a'); 
    len = tracks.length - 1; 
    audio[0].volume = .10; 
    audio[0].play(); 
    playlist.find('a').click(function(e){ 
     e.preventDefault(); 
     link = $(this); 
     current = link.parent().index(); 
     run(link, audio[0]); 
    }); 
    audio[0].addEventListener('ended',function(e){ 
     current++; 
     if(current == len){ 
      current = 0; 
      link = playlist.find('a')[0]; 
     }else{ 
      link = playlist.find('a')[current];  
     } 
     run($(link),audio[0]); 
    }); 
} 
function run(link, player){ 
     player.src = link.attr('href'); 
     par = link.parent(); 
     par.addClass('active').siblings().removeClass('active'); 
     audio[0].load(); 
     audio[0].play(); 
} 
+0

начало комментирования строк в 'init', вы найдете строку, в которой начнется воспроизведение музыки. –

+0

удалить аудио [0] .play(); – hanshenrik

+0

Его ошибка ... ну вроде .. Твой звуковой тег не был правильно завершен. Посмотри мой ответ с новой скрипкой, связанной – Mayhem

ответ

-1

исправленный Fiddle: http://jsfiddle.net/WsXX3/1014/

Удалены/закомментировал игру внутри INIT .. Но ошибка в том, что вам нужно, чтобы закрыть исходный тег правильно используя стандарты XHTML ... добавлено замыкающей слэш в конце исходного тега

<audio id="audio" preload="auto" tabindex="0" controls="" type="audio/mpeg"> 
    <source type="audio/mp3" src="http://www.archive.org/download/bolero_69/Bolero.mp3" /> 
    Sorry, your browser does not support HTML5 audio. 
</audio> 

// audio[0].play(); 

XHTML самозакрывания Теги

Обратитесь к этой ссылке для примера/информации: http://www.devwebpro.com/self-closing-and-end-tags-in-xhtml-and-html/

В принципе ... если элемент/тег состоит из двух частей, как через DIV/форма/диапазон/P/h1 затем использовать его в качестве

Если элемент имеет только одну часть/тег .. например img/hr/source, тогда вам нужно добавить косую черту в качестве последнего элемента перед>

Итак, в этом случае мой google chrome взял проблему с отсутствующая косая черта и вся разница

EDIT - Confli cting information ... Тест для вашей собственной ситуации.

Очнувшись через это, я решил прочитать немного о теги HTML5, как я до сих пор полагаются на их использование (мое основное развитие необходимо поддерживать кросс-браузер и старый браузер, такие как> = IE8.

Это кажется, что HTML на самом деле не обрабатывает конечные теги так же, как XHTML/XML. Одна из других вещей, которые следует здесь отметить, - это то, что DOC TYPE вы тоже используете. Таким образом, что-то люди могут захотеть сначала проверить все комбинации и сузить самые надежные комбинация DOC TYPE &, закрывающая один элемент тега. .. SOURCE

+0

Удаление «audio [0] .play();» сделал трюк! В строке 4 есть тег, требуется ли «/>»? –

+0

Да, его по-прежнему требуется, как отдельный тег/элемент. Каждый тег/элемент должен быть правильно закрыт в соответствии со стандартами XHTML, или некоторые браузеры и версии могут выйти из строя. – Mayhem

+0

Пока вы его работаете, вот и все. Но я бы предложил убедиться, что его действительная разметка ...Вы заметите, что при добавлении косой черты красный тег в вашей скрипке станет обычным зеленым цветом. Это намек на то, что он недействителен. – Mayhem

Смежные вопросы