| import pygame |
| import librosa |
|
|
| def play_audio(audio_path, volume=0.7): |
| pygame.mixer.init() |
| try: |
| pygame.mixer.music.load(audio_path) |
| pygame.mixer.music.set_volume(volume) |
| pygame.mixer.music.play() |
| print(f"开始播放: {audio_path}") |
| except pygame.error as e: |
| print(f"播放音频文件时发生错误: {e}") |
| |
| |
|
|
| def play_audio_until_end(audio_path, volume=0.7): |
| pygame.mixer.init() |
| try: |
| pygame.mixer.music.load(audio_path) |
| pygame.mixer.music.set_volume(volume) |
| pygame.mixer.music.play() |
| print(f"开始播放: {audio_path}") |
| while pygame.mixer.music.get_busy(): |
| pygame.time.Clock().tick(100) |
| print("音频播放结束") |
| except pygame.error as e: |
| print(f"播放音频文件时发生错误: {e}") |
| |
| |
|
|
| def get_length(audio_path): |
| try: |
| duration = librosa.get_duration(path=audio_path) |
| print(f"音频时长: {duration} 秒") |
| return duration |
| except Exception as e: |
| print(f"获取音频时长时发生错误: {e}") |