我制作了一个视频播放器,它将显示器的一侧分割为附加相机捕获的图像,另一侧分割视频剪辑。它在java模式下无错误运行。当我在android模式下运行程序时,处理报告没有错误,但草图没有在我的手机上运行,一个弹出窗口显示
遗憾的是,(草图名称)已停止
出现。
我的代码如下。
import processing.video.*;
Movie myMovie;
Capture cam;
void setup() {
size(displayWidth, displayHeight);
myMovie = new Movie(this,"new cctv.mp4");
myMovie.loop();
myMovie.mask(myMovie);
String[] cameras = Capture.list();
if (cameras.length == 0) {
println("There are no cameras available for capture.");
exit();
} else {
println("Available cameras:");
for (int i = 0; i < cameras.length; i++) {
println(i,cameras[i]);
}
cam = new Capture(this,cameras[0]);
cam.start();
}
}
void draw() {
if(cam.available()){
cam.read();}
image(cam, 0, 0, displayWidth, displayHeight);
image(myMovie, width/2, 0,displayWidth/2,displayHeight);
}
void movieEvent(Movie m){
m.read();
}
答案 0 :(得分:0)
开始调试代码的时间。
您应该尝试的第一件事就是将其连接到LogCat,这样您就可以实际看到堆栈跟踪。现在这样做,因为这将回答你95%的问题。
如果这没有给你任何信息,那么我想你必须开始添加print语句来查看你的代码失败的地方。
我怀疑这一行:
void setup() {
size(displayWidth, displayHeight);
将变量传递到size()
函数通常是个坏主意,特别是如果您没有使用settings()
函数。
我也怀疑你要导入的库。你确定他们在Android模式下工作吗?并非所有Java库都能自动适用于Android。