python-3.x - 如何用python播放声音而没有while循环
问题描述
我想通过我的 python 脚本播放声音:
我使用了 win_sound pyglet playsound 和 pygame 但它不想工作。
有没有办法做到这一点。
目录是 C:Users/Random/Folder/OtherFolder/Sound1
解决方案
您可以librosa
用于加载音频数据和sounddevice
播放音频。
像这样:
import time
import librosa
import sounddevice as sd
def play_audio(audio_path, sampling_rate=44100):
audio, sampling_rate = librosa.load(audio_path, sr=sampling_rate)
duration = librosa.core.get_duration(audio, sr=sampling_rate)
# play the audio
sd.play(audio, sampling_rate)
# wait until the audio is done playing
time.sleep(duration)
play_audio('./test.mp3')
此外,如果此函数导致程序的其余部分冻结(因为time.sleep
),您需要像这里play_audio
一样在单独的地方运行该函数。thread
推荐阅读
- javascript - 如何用 sinon 模拟 d3.select.selectall?
- python - 如何修复'TypeError:float()参数必须是字符串或数字,而不是'map''
- php - 数学计算 laravel (netto-brutto)
- awk - 基于 awk 中特定列的单个输入的多个输出
- php - PHP MySQL中的简单测验系统 - 正确和选择的选项
- python - Xarray:处理通过索引一个元素返回的无量纲数组的干净方法
- asp.net-mvc - 加载资源失败:将 ASP.NET MVC 服务器从 IIS Express 更改为本地 IIS 时出现 404 错误
- elasticsearch - 如何在elasticsearch中查询上个月的数据
- windows - Windows 10 命令提示符重命名文件会覆盖文件名而不是前置
- mysql - 如何使用 Python 获取 MYSQL 中的表之间的关系?