这肯定是非常愚蠢的-很抱歉,如果这样的话:)-但是我确实已经在这个简单的问题上停留了很长时间了,我似乎无法理解。在processing.org文档或论坛上找不到任何内容。
所以基本上,我要做的就是加载.mp4 Movie
,设置framerate
并将其设置为loop()
。一切都按其应有的方式绘制,但唯一的问题是.framerate()
似乎并不影响电影本身。这是我简化的代码,便于理解:
String urlCam1 = "Something.mp4"; Movie camera1; Movie currentCam; boolean drawNextFrame = false; void setup() { fullScreen(); camera1 = new Movie(this, urlCam1); camera1.frameRate(1); camera1.loop(); background(0); } void draw() { if (drawNextFrame) { image(currentCam, 0, 0, 100, 100); drawNextFrame = false; } } void movieEvent(Movie m) { print("Video Read"); m.read(); drawNextFrame = true; currentCam = m; }
[您可能想知道为什么我要使用这种奇怪的结构(特别是
currentCam
),这是因为我一次绘制了多部电影。但是我只用一部电影尝试了该代码(如代码所示),但问题仍然存在。
注意camera1.framerate
如何设置为1 fps。由于某些原因,即使没有给出错误,该行似乎也被忽略了。 movieEvent()
并不是每秒调用一次,而是更多,因此,即使我已将Movie的帧速率显式设置为1fps,也不会每秒绘制当前视频帧。
为什么?我在这里想念什么吗?
谢谢! :)
这肯定是非常愚蠢的-很抱歉,如果这样的话:)-但是我确实已经在这个简单的问题上停留了很长时间了,我似乎无法理解。在...上找不到任何内容...
我能够重现您的问题,但无法纠正。在基于处理文档中的示例尝试了非常简化的代码之后,我仍然无法使frameRate()
工作。我什至尝试了不同的渲染器,但没有明显的结果。