Processing 处理can';t访问内置网络摄像头

Processing 处理can';t访问内置网络摄像头,processing,Processing,我已经写了下面的代码,我得到一个错误 导入处理。视频。*; 捕捉独角兽; 无效设置(){ 规模(640480); 独角兽=新捕获(这是640480); unicorn.start(); 背景(0); } 无效捕获事件(捕获视频){ video.read(); } 作废提款(){ 对于(int i=0;i只是为了确定:您是否已经添加了用于处理的视频库(它是名为“video | GStreamer-based video library for Processing.”的库)?第1步介绍了安装,其中

我已经写了下面的代码,我得到一个错误

导入处理。视频。*;
捕捉独角兽;
无效设置(){
规模(640480);
独角兽=新捕获(这是640480);
unicorn.start();
背景(0);
}
无效捕获事件(捕获视频){
video.read();
}
作废提款(){

对于(int i=0;i只是为了确定:您是否已经添加了用于处理的视频库(它是名为“video | GStreamer-based video library for Processing.”的库)?第1步介绍了安装,其中包含了更多有趣的信息和优秀的视频示例。既然您能够运行草图,这应该已经可以了

如前所述,请确保摄像头可用于其他程序;可能存在某些硬件或驱动程序问题。要列出处理可以检测到的摄像头,可以使用中的代码。这只是显示可用摄像头的部分;使用链接可获得完整示例:

import processing.video.*;

String[] cameras = Capture.list();

if (cameras.length == 0) {
  println("There are no cameras available for capture.");
} else {
  println("Available cameras:");
  for (int cameraIndex = 0; cameraIndex < cameras.length; cameraIndex++) {
    println(cameras[cameraIndex]);
  }
}

您是否检查过您的相机是否可以与其他软件一起使用?在有人共享一些代码以列出可用的相机时,您的设备在运行代码时是否会出现?在这里有一些人们尝试过的似乎有帮助的事情,您试过了吗?上面说没有可供捕获的相机。但我不明白这是怎么可能的,因为我有一个我的笔记本电脑上的内置网络摄像头。您可以在其他应用程序中使用网络摄像头吗?(例如,使用for Windows或for Linux。)是的,我可以通过摄像头应用程序访问我的摄像头,但不能通过处理访问。这很奇怪。你可以卸载并重新安装处理视频库。如果没有帮助,你可以尝试重新安装处理(如果你使用的是旧版本,请安装最新版本,否则请安装旧版本)。如果您有另一台笔记本电脑,您可以尝试在该笔记本电脑上安装Processing和视频库,并在那里进行测试。
import processing.video.*;
Capture unicorn;

void setup(){
    size(640,480);
    unicorn=new Capture (this,640,480);
    unicorn.start();
    background(0);
}

void captureEvent(Capture video){
    video.read();
}

void draw(){
    for(int i=0; i<100; i++){
        float x=random(width);
        float y=random(height);
        color c=unicorn.get(int(x),int(y));
        fill(c);
        noStroke();
        ellipse(x,y,16,16);
    }
}
import processing.video.*;

String[] cameras = Capture.list();

if (cameras.length == 0) {
  println("There are no cameras available for capture.");
} else {
  println("Available cameras:");
  for (int cameraIndex = 0; cameraIndex < cameras.length; cameraIndex++) {
    println(cameras[cameraIndex]);
  }
}
Processing video library using GStreamer 1.16.2
Available cameras:
<Camera 1>
<Camera 2>
import processing.video.*;

Capture camera;

void setup() {
  size(640, 480);

  // Suggestion from Neil C Smith on the Processing forum:
  camera = new Capture(this, "pipeline:autovideosrc");
  camera.start();     
}

void draw() {
  if (camera.available()) {
    camera.read();
  }

  image(camera, 0, 0);
}