Как выбрать трек в popcorn.js, используя строку, и воспроизвести ее?

Итак, вот тощий

Запуск popcorn.js на YouTube видео и отдельные аудио-петли. Каждый из них - это трек типа "видео", "аудио1" и т. Д.

У меня есть взаимодействие с пользователем через сокеты, который отправляет команды в окно в виде строк, как "Play_audio1". Эта строка затем анализируется с использованием split.

Итак, мы получаем:

var messageArray = message.split("_");

таким образом, messageArray[0] - это моя команда, а messageArray[1] - это то, с чем нужно это делать.

ЭТА ПРОБЛЕМА

Я пытаюсь выполнить код, чтобы выбрать трек, используя окно, и запустить на нем функцию popcorn play (), но она не работает. Стреляет назад не определено.

case 'Play':
   window[messageArray[1]][play]();
break;

Где моя ошибка здесь?

eval () работает, но я слышал, что это был дьявол.

РЕДАКТИРОВАТЬ:

Чтобы добавить это, я добавлю трек-код popcorn.js:

var audio1 = Popcorn.smart( "#audio1", "audiofile1.wav",{
        frameAnimation: true
     });

и в вашем HTML у вас есть

<audio id="audio1"></audio>

popcorn.js заполняет его выбранным файлом, и для воспроизведения вы обычно просто используете

audio1.play();

1 ответ

Я думаю, это потому, что вы используете messageArray[1] в качестве индекса для окна. Возможно, вам следует сначала попытаться создать переменную с этим значением. Тогда используйте это в окне.

var audioFile = messageArray[1];

Другие вопросы по тегам