API Docs for:
Show:

File: test/list_cameras.js

/**
 * Base 64 image test
 *
 */
"use strict";

var NodeWebcam = require( __dirname + "/../index.js" );

var Path = require( "path" );

var Async = require( "async" );

var List = [];


//Main test sequence

describe( "Webcam List", function() {


    //Default webcam list

    it( "Should list all availible cameras", listTest );


    it( "Should capture each device", deviceCheck );

});


//base 64 capture webcam

function listTest( done ) {

    var Webcam = NodeWebcam.Factory.create({});

    Webcam.list( function( list ) {

        console.log( "Camera List", list );

        List = list;

        done();


    });

}


//use each camera

function deviceCheck( done ) {

    this.timeout( 6000 );

    var Webcam = NodeWebcam.Factory.create({});

    var url = Path.resolve( __dirname, "output", "test_image" );

     var index = 0;


    //Main device capture

    function captureFunc( device, callback ) {

        console.log( device );

        Webcam.opts.device = device;

        var urlDevice = url + "_" + index;

        Webcam.capture( urlDevice, function() {

            callback();

        });

        index++;

    }

    Async.mapSeries( List, captureFunc, function() {

        done();

    });

}