所以,这是瘦的:
在youtube视频上运行popcorn.js并分离音频循环。每一首都是“视频”和“音频1”等曲目。
我通过套接字进行用户交互,这些套接字将命令作为“Play_audio1”等字符串发送到窗口。然后使用拆分解析此字符串。
所以我们得到:
var messageArray = message.split("_");
因此messageArray [0]是我的命令,而messageArray [1]是跟踪它的轨道。
问题
我正在尝试执行代码以使用窗口选择轨道,并在其上运行爆米花功能 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();
答案 0 :(得分:0)
我认为那是因为你使用messageArray [1]作为窗口的索引。也许您应该首先尝试使用该值创建变量。然后在窗口内使用它。
var audioFile = messageArray[1];