fix: sending audio flag

This commit is contained in:
Elysia
2024-10-21 09:03:36 +07:00
parent ce1da4dd14
commit 7d42ec7ecc
3 changed files with 5 additions and 3 deletions

View File

@@ -82,7 +82,7 @@ class VoiceConnection extends EventEmitter {
* The audio player for this voice connection
* @type {MediaPlayer}
*/
this.player = new MediaPlayer(this);
this.player = new MediaPlayer(this, this.constructor.name === 'StreamConnection');
this.player.on('debug', m => {
/**

View File

@@ -384,7 +384,7 @@ class BaseDispatcher extends Writable {
* @event BaseDispatcher#debug
* @param {string} info The debug info
*/
this._setSpeaking(1);
this._setSpeaking(this.player.isScreenSharing ? 1 << 1 : 1 << 0); // 1 << 0 = SPEAKING, 1 << 1 = SOUND SHARE
if (!this.player.voiceConnection.sockets.udp) {
this.emit('debug', 'Failed to send a packet - no UDP socket');
return;

View File

@@ -34,7 +34,7 @@ const FFMPEG_ARGUMENTS = ['-analyzeduration', '0', '-loglevel', '0', '-f', 's16l
* @extends {EventEmitter}
*/
class MediaPlayer extends EventEmitter {
constructor(voiceConnection) {
constructor(voiceConnection, isScreenSharing) {
super();
this.dispatcher = null;
@@ -45,6 +45,8 @@ class MediaPlayer extends EventEmitter {
* @type {VoiceConnection}
*/
this.voiceConnection = voiceConnection;
this.isScreenSharing = isScreenSharing;
}
destroy() {