How to use the getVolume function
simonravel opened this issue · 1 comments
simonravel commented
I tried to use this function:
const GoogleCastClient = require("castv2-client").Client;
const DefaultMediaReceiver = require("castv2-client").DefaultMediaReceiver;
const client = new GoogleCastClient();
var 'some_ip' = '192.168.0.x' //just an example
client.connect(,() => {
client.launch(DefaultMediaReceiver, (err, player) => {
const media = {
contentId: url,
contentType: "audio/mp3",
streamType: "BUFFERED"
};
player.load(media, { autoplay: true }, (err, status) => {
client.close();
console.log(`Pushed to device at ${some_ip}`);
});
});
client.getVolume('volume', function(vol){
console.log(vol)
})
client.on("error", err => {
reject(`Google Cast Client error:\n${err}`);
client.close();
});
});
Which results in: UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'getVolume' of null
daaru00 commented
Hi @simonravel,
I think the error is here:
client.getVolume('volume', function(vol){
you don't have to pass any parameters (except callback function), the correct method's call is:
this.client.getVolume(function (err, vol) { ... })
also pay attention to first callback parameters, is an error object (null if no error is released) not the current volume infos.
Here an example:
this.client.getVolume(function (err, vol) {
if (err) {
console.error(err) // handle error
return
}
console.log(vol) // {"controlType":"attenuation","level":0.7999999523162842,"muted":false,"stepInterval":0.05000000074505806}
})