JavaScript APIs Reference#

BrightSign players provide JavaScript APIs for both browser-based HTML widgets and Node.js applications.

Browser APIs#

BrightSign-Specific APIs#

Available in the browser context via window object:

1
2
3
4
5
6
7
// Send message to BrightScript host
window.bsMessage(JSON.stringify({ action: 'play', file: 'video.mp4' }));

// Receive messages from BrightScript
window.bsmessage = function(data) {
    console.log('Received:', data);
};

Standard Web APIs#

BrightSign’s Chromium engine supports standard web APIs:

  • fetch() - HTTP requests
  • localStorage / sessionStorage - Browser storage
  • WebSocket - Real-time communication
  • Canvas / WebGL - Graphics rendering
  • Web Audio API - Audio processing

Node.js Modules#

@brightsign/videoplayer#

1
2
3
4
5
const VideoPlayer = require('@brightsign/videoplayer');

const player = new VideoPlayer();
player.on('mediaended', () => console.log('Ended'));
await player.play('/storage/sd/video.mp4');

@brightsign/audioplayer#

1
2
3
4
5
const AudioPlayer = require('@brightsign/audioplayer');

const audio = new AudioPlayer();
audio.setVolume(80);
await audio.play('/storage/sd/audio.mp3');

@brightsign/gpio#

1
2
3
4
5
6
7
8
9
const gpio = require('@brightsign/gpio');

gpio.enableInput(0);
gpio.enableOutput(1);

gpio.on('input', (pin, state) => {
    console.log(`Pin ${pin}: ${state}`);
    gpio.setOutputState(1, state);
});

@brightsign/networkconfiguration#

1
2
3
4
const network = require('@brightsign/networkconfiguration');

const config = network.getConfig(0);
console.log('IP:', config.ip4Address);

@brightsign/registry#

1
2
3
4
5
6
const registry = require('@brightsign/registry');

const section = registry.getSection('settings');
section.write('key', 'value');
section.flush();
const value = section.read('key');

@brightsign/deviceinfo#

1
2
3
4
5
const deviceinfo = require('@brightsign/deviceinfo');

const serial = deviceinfo.getSerial();
const model = deviceinfo.getModel();
const firmware = deviceinfo.getVersion();

@brightsign/screenshot#

1
2
3
4
const screenshot = require('@brightsign/screenshot');

const image = await screenshot.capture();
await image.save('/storage/sd/screenshot.png');

Module List#

ModulePurpose
@brightsign/videoplayerVideo playback
@brightsign/audioplayerAudio playback
@brightsign/gpioGPIO control
@brightsign/serialSerial communication
@brightsign/registryPersistent storage
@brightsign/networkconfigurationNetwork settings
@brightsign/deviceinfoDevice information
@brightsign/screenshotScreen capture
@brightsign/npuNeural processing
@brightsign/hostconfigurationSystem configuration
Player Compatibility
SeriesAll
Firmware9.0+