diff options
Diffstat (limited to '')
| -rw-r--r-- | cogs/vclogs.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cogs/vclogs.py b/cogs/vclogs.py index 85d19bc..fb0a2e0 100644 --- a/cogs/vclogs.py +++ b/cogs/vclogs.py | |||
| @@ -102,12 +102,20 @@ class VcLogs(commands.Cog): | |||
| 102 | volume = get_volume() | 102 | volume = get_volume() |
| 103 | logger.info(f"connected: {voice_client}") | 103 | logger.info(f"connected: {voice_client}") |
| 104 | 104 | ||
| 105 | if voice_client and not is_playing: | 105 | if voice_client: |
| 106 | if is_playing: | ||
| 107 | logger.info("voice already playing, stopping current audio") | ||
| 108 | voice_client.stop() | ||
| 109 | await asyncio.sleep(0.1) | ||
| 110 | |||
| 106 | logger.info("preparing to play audio") | 111 | logger.info("preparing to play audio") |
| 107 | audio_source = discord.FFmpegPCMAudio(tts_file, options=f'-filter:a "volume={volume}"') | 112 | audio_source = discord.FFmpegPCMAudio(tts_file) |
| 113 | if volume != 1.0: | ||
| 114 | audio_source = discord.PCMVolumeTransformer(audio_source) | ||
| 115 | audio_source.volume = volume | ||
| 108 | voice_client.play(audio_source) | 116 | voice_client.play(audio_source) |
| 109 | while voice_client.is_playing(): | 117 | while voice_client.is_playing(): |
| 110 | await asyncio.sleep(0.5) | 118 | await asyncio.sleep(0.1) |
| 111 | except Exception as e: | 119 | except Exception as e: |
| 112 | logger.error(f"TTS playback error: {e}") | 120 | logger.error(f"TTS playback error: {e}") |
| 113 | finally: | 121 | finally: |
