Как выбрать трек в 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];