fix: Update VoiceAudioSink write method to accept VoiceData and extract PCM data
This commit is contained in:
parent
2706abe5f6
commit
429d416010
@ -124,8 +124,8 @@ class VoiceAudioSink(voice_recv.AudioSink): # Inherit from voice_recv.AudioSink
|
||||
"""
|
||||
return False
|
||||
|
||||
# Signature changed: user object directly, data is raw 48kHz stereo PCM
|
||||
def write(self, user: discord.User, pcm_data_48k_stereo: bytes):
|
||||
# Signature changed: user object directly, data is VoiceData
|
||||
def write(self, user: discord.User, voice_data_packet: voice_recv.VoiceData):
|
||||
if not webrtcvad or not self.voice_client or not user: # OpusDecoder check removed, user check added
|
||||
return
|
||||
|
||||
@ -143,8 +143,11 @@ class VoiceAudioSink(voice_recv.AudioSink): # Inherit from voice_recv.AudioSink
|
||||
|
||||
entry = self.user_audio_data[user_id]
|
||||
|
||||
# Extract PCM data from VoiceData packet
|
||||
raw_pcm_data_48k_stereo = voice_data_packet.pcm
|
||||
|
||||
# Convert incoming 48kHz stereo PCM to 16kHz mono PCM
|
||||
pcm_data = _convert_audio_to_16khz_mono(pcm_data_48k_stereo)
|
||||
pcm_data = _convert_audio_to_16khz_mono(raw_pcm_data_48k_stereo)
|
||||
if not pcm_data: # Conversion failed or returned empty bytes
|
||||
# print(f"Audio conversion failed for user {user_id}. Skipping frame.")
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user