python - PyQT5 QSound 声音之间的延迟
问题描述
我正在用 PyQt5 制作一个数码钢琴软件,它的功能之一是能够自动弹奏音符。我已经在一个列表下注册了几个音符,并且正在尝试使用 QSound 来播放它们,但是当我这样做时,它们会同时播放。我如何能够在声音之间添加延迟?谢谢您的帮助
def playSheetMusic(self, Piano):
sheetmusic = ["A5", "G4", "C4", "C4", "C4"]
note1 = sheetmusic[0]
file1 = "pianokeys/" + note1 +".wav"
note2 = sheetmusic[1]
file2 = "pianokeys/" + note2 +".wav"
QSound.play(file1)
QSound.play(file2)
解决方案
您应该能够简单地使用如下qWait()
功能添加延迟:
from PyQt4 import QtTest
def playSheetMusic(self, Piano):
sheetmusic = ["A5", "G4", "C4", "C4", "C4"]
note1 = sheetmusic[0]
file1 = "pianokeys/" + note1 +".wav"
note2 = sheetmusic[1]
file2 = "pianokeys/" + note2 +".wav"
QSound.play(file1)
QtTest.QTest.qWait(1000) # put however many milliseconds delay you want
QSound.play(file2)
希望这可以帮助 :)
推荐阅读
- python - 我在 3D 地形上有一个盒子的 8 个顶点,我需要将盒子分成几个较小的顶点
- javascript - 如何将 Base64 url 转换为图像对象
- java - 压缩图像而不保存它——在 Java 中
- apache-kafka-streams - KTables - KStreams ; 添加到 KTable 并不是“启动”拓扑
- html - 在悬停的 SVG 元素上显示图像
- mysql - 如何安全地连接到私有 mysql 远程服务器并使用 R 获取数据?
- algorithm - 使用无关转换最小化 DFA
- php - 为什么整数上的 in_array 严格模式比非严格模式慢?
- tensorflow - 模块“tensorrt”没有属性“记录器”
- java - Spring MVC 转换 Spring Rest Api