Dashboard UI audiout: is it possible play TTS only on specific socketid client?

Hi,
I'm wondering if is it possible, using the audioout node, to reproduce TTS not on all connected client but only on specific one.

For example I want to play TTS when I cange tab on menu, but only for the client that made this action and not in every client showing the same tab.

Please, let me known.

Thanks in advance.

Dario.

It should be possible but you need the socket id which you should be able to capture from either the control node or from some interaction from the browser. If you include the socket id in the sent message, it should only go to that client.

Just note that the socket id can change more often than you think. It will change, for example, if the client temporarily loses the websocket connection.

I've got the sockeitid in msg, it's recognized every time by dashboard ui.

But it seems that differently to other nodes (I've seen on source code) ui_audio doesn't pass on emit socketid.

I've try to change it but nothing seems to change.

I'm looking now in ui.js...

That may be a bug, I'm sure that I read in the docs for Dashboard that the audio node is supposed to respect the socket id.

1 Like

I posted an issue on github.

I'm really confused because I'm unable to understand is this is really an issue or if it's me that misunderstand the functionality.

In my head everything should be works as in frontend.

Now fixed in master. v3.5.0
not released to npm yet.

2 Likes

Definitely a bug:

Fixed on 3.5 :wink:

EDIT: sorry @dceejay I did not see your post just before the mine :slight_smile:

One question @dceejay : I see at code the use of emitSocket, but what happens in socketid doesn't exist on "msg"?

It should be great if the audio played on every client in this case (just like now).

It does exactly that

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.