node-redで使ってるコードなので適宜読み替えてもらえれば。
javascriptを普段使わないので、callback部分とか適切に書けているかあまり自信はないです。。
npmでcastv2-clientがインストールされている前提です。
現在の音量を取得したあとに音量を新しい値に設定します。
あとで音量を元に戻したい場合はcurvol.levelを使ってsetVolumeし直して下さい。
// input : msg.castv2.ipaddr, msg.castv2.volume
// output: msg
var ipaddr = msg.castv2.ipaddr || "192.168.xxx.xxx";
// volume は min:0 max:1 で指定
var volume = msg.castv2.volume || 0.5;
var Client = require('castv2-client').Client;
var client = new Client();
client.connect(ipaddr, function() {
client.getVolume(function(err, curvol){
if(err) console.log(err);
console.log(curvol);
client.setVolume({ level: volume }, function(err, newvol){
if(err) console.log(err);
console.log(newvol);
client.close();
});
});
client.on('error', function(err) {
console.log('Error: %s', err.message);
client.close();
callback('error');
});
});
return msg;