J'ai suivi le tutoriel sur comment controller OBS avec le système de websocket. J'aimerais lancer des sond. Il faut que je sélectionne la scène où il y a tout les son pour jouer un son pécis durant le streaming.
Est-ce qu'il y a un moyens pour que les gens vois un écrant noire quand je veux lancer un son depuis mon streamdeck programmer en javascript?
// We create sound buttons for each sound
const sounds = data.scenes.find(s => s.name === 'Sounds')?.sources ?? []
const soundsRow = document.getElementById('sounds');
for (const sound of sounds) {
const button = new SoundButton(obs, sound.name);
button.appendTo(soundsRow)
}
J'ai ce code quand pour lancer un son précis :
export class SoundButton extends Button {
/**
*
* @param {import('obs-websocket-js')} obs
* @param {string} sound
*/
constructor(obs, sound) {
super();
this.obs = obs;
this.sound = sound;
this.label = sound;
}
onMounted() {
this.obs.on('MediaStarted', (media) => {
if (media.sourceName === this.sound) {
this.active(true);
}
});
this.obs.on('MediaEnded', (media) => {
if (media.sourceName === this.sound) {
this.active(false);
}
})
}
onClick() {
this.obs.send("RestartMedia", {sourceName: this.sound })
}
Ce que je veux
À évitez d'afficher la scène ou il y a tout les sons qui est une scène noir.
Ce que j'obtiens
Je suis oubligé d'afficher la scène vide (noir) avec tous les sons pour ensuite lancer un son précis. C'est pas très intéréssant de voir un écrant noir de quelque second.
Merci!