HTML5 аудио / JQuery

0

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

У меня есть "список воспроизведения", который состоит из элементов "links" - li atm - который использует aJax/PHP для извлечения данных и загрузки в аудиоэлемент. Я могу получить данные просто отлично, никаких проблем нет.

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

Предназначенная песня играет без проблем, однако, если пользователь выбирает одну и ту же песню или другую песню, первый трек продолжает воспроизводиться, пока начинается трек "более новый выбранный". Я в основном могу играть 10+ треки в то же время - довольно раздражает.

Я пытаюсь остановить первую песню - либо уничтожить звуковой тег, либо любой другой метод - и воспроизвести новую выбранную песню, когда пользователь выбирает другой "трек",

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

Ниже приведен код, который я тестирую, в настоящее время этот скрипт запускается после aJax callback = success.

--COMMENTS Ниже приведен код jQuery audio = экземпляры HTML5 audio arydata = массив, содержащий данные из скрипта PHP --COMMENTS

Я думаю, мне нужно будет добавить код до того, как приведенный ниже код запустится, чтобы проверить, есть ли какие-либо существующие аудио-элементы, но я не уверен, что это лучший подход.

var audio = new Audio();
audio.src = arydata[1] + ".mp3";
audio.load();
audio.play();

Дайте мне знать, если что-то еще понадобится.

Теги:
html5-audio

1 ответ

0

Нашел решение.

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

Таким образом, чтобы исправить эту проблему, вместо этого я создал экземпляр Audio при загрузке скрипта. Затем, как только пользователь выбирает дорожку, я затем нахожу экземпляр Audio и загружаю данные на него.

Ниже приведен код.

    var audio = new Audio();

$("#media_player_playlist_wrapper li").click(function(){
    var player = $(audio).get(0);
    player.src = filepath;
    player.load();
    player.play();
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню