fix: creation LocalAudioTrack depuis AudioSource pour publication

- Import LocalAudioTrack depuis @livekit/rtc-node
- Utilise LocalAudioTrack.createAudioTrack() pour creer track depuis source
- Corrige erreur 'Cannot read properties of undefined (reading handle)'
- Permet publication correcte du track audio du bridge
This commit is contained in:
2026-05-26 14:56:18 +02:00
parent cc4f5ca35a
commit 61b3bedcae
+7 -3
View File
@@ -10,7 +10,7 @@
* - Reconnexion automatique * - Reconnexion automatique
*/ */
import { Room, RoomEvent, AudioSource, AudioFrame } from '@livekit/rtc-node'; import { Room, RoomEvent, AudioSource, AudioFrame, LocalAudioTrack } from '@livekit/rtc-node';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
export class LiveKitClient extends EventEmitter { export class LiveKitClient extends EventEmitter {
@@ -86,18 +86,22 @@ export class LiveKitClient extends EventEmitter {
*/ */
async _createAudioSource() { async _createAudioSource() {
try { try {
// Création de l'AudioSource
this.audioSource = new AudioSource( this.audioSource = new AudioSource(
this.options.sampleRate, this.options.sampleRate,
this.options.channels this.options.channels
); );
// Publication du track audio // Création du LocalAudioTrack depuis l'AudioSource
const localTrack = LocalAudioTrack.createAudioTrack('bridge-audio', this.audioSource);
// Publication du track
const options = { const options = {
source: 'microphone' // Simule un microphone pour les clients source: 'microphone' // Simule un microphone pour les clients
}; };
this.localAudioTrack = await this.room.localParticipant.publishTrack( this.localAudioTrack = await this.room.localParticipant.publishTrack(
this.audioSource, localTrack,
options options
); );