Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.03.2014, 23:04
Новичок на форуме
Отправить личное сообщение для mvadim007 Посмотреть профиль Найти все сообщения от mvadim007
 
Регистрация: 30.03.2014
Сообщений: 3

HTML5 audio, onClick
Добрый вечер.
Возникла небольшая проблема при работе с аудиофайлами по средствам HTML5 (audio).
Вот код:
<table class="table table-condensed">
                  <thead>
                    <tr>
                      <th>#</th>
                      <th>Singer</th>
                      <th>Song</th>
                      <th>Play</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>1</td>
                      <td>Timati</td>
                      <td>Welcome to Santropez</td>
                      <td>
                      	<audio id="timati-santrope" src="songs/timati-santrope.mp3"></audio>
                      	<span class="glyphicon glyphicon-play play" onClick="document.getElementById('timati-santrope').play()"></span>
                        <span class="glyphicon glyphicon-pause play" onClick="document.getElementById('timati-santrope').pause()"></span>
                      </td>
                    </tr>
                    <tr>
                      <td>2</td>
                      <td>The Black Eyed Peace</td>
                      <td>Let`s Get it Started</td>
                      <td>
                      	<audio  id="bep-getstart" src="songs/black-eyed-peace-let's-get-started.mp3"></audio>
                      	<span class="glyphicon glyphicon-play play" onClick="document.getElementById('bep-getstart').play()"></span>
                        <span class="glyphicon glyphicon-pause play" onClick="document.getElementById('bep-getstart').pause()"></span>
                      </td>
                  </tbody>
                </table>

Получается у нас есть небольшой плейлист. Теперь если мы захотим воспроизвести обе песни, они воспроизведутся и получится каша. Как сделать, чтобы при клике на span onClick...play() прекращалось воспроизведение предыдущей песни и начиналась воспроизведение песни на которую вы кликнули?
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2014, 00:44
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Родился афоризм: "Из тебя программист, что из Тимати - блэк-стар."
Сделай отдельный модуль, отвечающий за воспроизведение, а кнопками play/pause отправляй ему команды "играй то"/"не играй".
Ответить с цитированием
  #3 (permalink)  
Старый 31.03.2014, 04:52
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Ну так останавливай остальные перед запуском текущей...
function pauseAll() {
  var audios = document.querySelectorAll('audio');
  for(var i = 0; i < audios.length; i++) audios[i].pause();
}
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2014, 02:52
Новичок на форуме
Отправить личное сообщение для mvadim007 Посмотреть профиль Найти все сообщения от mvadim007
 
Регистрация: 30.03.2014
Сообщений: 3

Сообщение от jsnb Посмотреть сообщение
Ну так останавливай остальные перед запуском текущей...
function pauseAll() {
  var audios = document.querySelectorAll('audio');
  for(var i = 0; i < audios.length; i++) audios[i].pause();
}
Попробовал вставить данный код, но все равно не работает.
Пробовал заменить querySelectorAll на getElementsByTagName, все равно никаких результатов.
Может я что то не так делаю?
п.с. скрипт находится в body до самого плейлиста
Ответить с цитированием
  #5 (permalink)  
Старый 01.04.2014, 06:52
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от mvadim007 Посмотреть сообщение
Попробовал вставить данный код, но все равно не работает.
Помимо того, чтобы вставить код, надо еще вызвать функцию. Пропиши ее вызов в onclick до запуска воспроизведения.
Ответить с цитированием
  #6 (permalink)  
Старый 01.04.2014, 18:26
Новичок на форуме
Отправить личное сообщение для mvadim007 Посмотреть профиль Найти все сообщения от mvadim007
 
Регистрация: 30.03.2014
Сообщений: 3

Сообщение от jsnb Посмотреть сообщение
Помимо того, чтобы вставить код, надо еще вызвать функцию. Пропиши ее вызов в onclick до запуска воспроизведения.
Большое спасибо, сработало
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API у AUDIO тега в HTML5 у вас работает? Damir Общие вопросы Javascript 7 24.03.2013 12:21
HTML5 Geolocation API, вопрос о снятии данных User-Agent (X)HTML/CSS 2 22.02.2013 20:09
HTML5 Audio Загрузка Severtain Общие вопросы Javascript 0 09.05.2012 13:09
OnClick ячейки таблицы и ссылки в этой ячейке MasDen Javascript под браузер 2 30.06.2011 10:34
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 18:01