volume-player-sdk
v3.2.0
Published
## Installation
Downloads
366
Readme
volume-player-sdk
Installation
npm install volume-player-sdk
Else with Yarn
yarn add volume-player-sdk
Usage
import { playPlaylist } from 'volume-player-sdk';
playPlaylist({
slug: 'foobar'
});
Functions Available
Media Controls
import {
PLAYLIST_TYPE_HD,
PLAYLIST_TYPE_4K,
PLAYLIST_TYPE_UHD,
getVolumeLevel,
isMuted,
mute,
playPlaylist,
print,
reboot,
reload,
resetVolume,
resizeVideo,
send,
setDrawerButtonSettings
setSetting,
sizeDefault,
skipTrack,
stopPlaylist,
sync,
unmute,
volumeDown,
volumeSet,
volumeUp,
} from 'volume-player-sdk';
playPlaylist({
slug: 'foobar'
});
// To play the HD version of the playlist
playPlaylist({
slug: 'foobar',
type: PLAYLIST_TYPE_HD,
});
print('https://file/to/print.pdf');
stopPlaylist();
resizeVideo({
width: 100, // width percent
height: 100, // height percent
anchorHorizontal: 'right', // horizontal anchor ('left' and 'centre' are the other options)
anchorVertical: 'bottom', // verticle anchor ('top' and 'centre' are the other options)
paddingTop: 0, // padding for the top
paddingBottom: 0, // padding for the bottom
paddingLeft: 0, // padding for the left
paddingRight: 0, // padding for the right
});
skipTrack();
setDrawerButtonSettings(x, y, width, height);
setSetting({
key: "layer_extra",
value: JSON.stringify({"foo": "bar"}),
});
sync({
my: "syncing",
data: ["object"]
});
sizeDefault();,
send({ bin: "baz" });
reboot(); // it reboots the device
reload(); // reload the layer
volumeUp({ step: 2 }); // turn volume up two levels on the player (Not CEC) - step is optional, defaults to 1
volumeDown({ step: 2 }); // turn volume down two levels on the player (Not CEC) - step is optional, defaults to 1
volumeSet({
level: 5
});
const volumeLevel = getVolumeLevel();
resetVolume();
const isTheSoundOn = !isMuted();
mute(); // mutes the device (Not CEC)
unmute(); // unmutes the device (Not CEC)
CEC Commands
CEC Commands need to be queued else there is the risk of commands being ommitted if they are sent too quickly.
import { CEC: { start, CEC_DESTINATION_TV, volumeUp } } from 'volume-player-sdk';
start();
volumeUp(CEC_DESTINATION_TV);
Other CEC functions
import {
CEC: {
CEC_DESTINATION_TV,
CEC_DESTINATION_SOUND_BAR,
start,
stop,
volumeUp,
volumeDown,
volumeMute,
getVolumeLevel,
reset,
isMuted,
mute,
unmute,
standby,
switchAudioToTv,
switchAudioToSoundbar,
}
} from 'volume-player-sdk';
start();
volumeUp({ destination: CEC_DESTINATION_SOUND_BAR, step: 3 });
volumeDown({ destination: CEC_DESTINATION_SOUND_BAR, step: 3 });
reset({
destination: CEC_DESTINATION_SOUND_BAR,
level: 5,
maxLevel: 10,
});
volumeMute({ destination: CEC_DESTINATION_SOUND_BAR });
volumeUnMute({ destination: CEC_DESTINATION_SOUND_BAR });
isMuted({
destination: CEC_DESTINATION_SOUND_BAR,
callback: (booleanValue) => console.log(booleanValue),
});
getVolumeLevel({
destination: CEC_DESTINATION_SOUND_BAR,
callback: (integer) => console.log(integer),
});
standby({ destination: CEC_DESTINATION_SOUND_BAR });
stop();
switchAudioToTv()
switchAudioToSoundbar()
Device Events
Volume players sends events to the layer by calling a function called deviceEvent
, if declared in thewindow
object:
type CustomEvent = DeviceEvent<'foo', { a: number }>
window.deviceEvent = (data: DeviceEventData | CustomEvent) => {
const { actionType, actionDetails } = data
if (actionType === 'startVideo') {
// actionDetails here is type VideoDetails
actionDetails.length
}
if (actionType === 'foo') {
// a property here is type number, as declared before
actionDetails.a
}
}