我试图从树莓派制作电视,在javascript中,一次又一次播放同一播放列表的类型。 播放文件AREN TA的问题,但我米停留在JavaScript的 下面的代码至极的异步部分打扰我:在这种情况下递归是否好? (javascript/node.js)
function play (file)
{
exec('home/pi/play.sh', [file], function (error, stdout, stderr){
if (PIndice != Playlist.length-1){
PIndice=PIndice+1;
}else{
PIndice=0;
}
play(Playlist[PIndice]);
});
另一个功能与播放列表叫它[0]当我米肯定有SA路径它。
我的问题是: 安全吗? 不是递归最终会杀死CPU? 我虽然关于使用setTimeOut,但我没有找到任何方式来获得视频的持续时间。
我试过在循环中调用播放,但我只是在同一时间播放整个播放列表。
我不要求一个全功能的解决方案,只是暗示我在哪里可以找到正确的方法 有没有一种方法可以在再次调用之前等待播放结束,即使JavaScript是异步的?
编辑: 所有文件都在MPEG4,播放列表只是一个字符串数组,其中包含要播放的视频文件的路径名。它应该没有互联网播放,所以没有浏览器,我不能使用HTML请求让视频的元数据得到它的持续时间。
EDIT2:我忘了告诉大家,play.sh刚刚启动播放器,如果有S的它没有其他的情况下,它只是一个保持以前的版本在那里我不知道有关的execfile
稍微详细一点会有帮助。你在玩什么类型的文件?这是在浏览器中?你指的是什么类型的播放列表? –
播放列表只是一个字符串数组,所有播放文件的路径名都是MPEG4。我不使用任何浏览器,所有文件都已经在RPi上 – DrakaSAN