c++ - 如何一致地重播事件列表

标签 c++ python windows

我有一个文件,其中包含间隔一段时间的事件列表。这是一个例子:

0, Hello World
0.5, Say Hi
2, Say Bye

我希望能够重播这一系列事件。第一列是两个连续事件之间的增量(第一个立即开始,第二个在 0.5 秒后发生,第三个在 2 秒后,...)

我如何在 Windows 上执行此操作。有什么可以确保我在时间上非常准确吗?这个想法是尽可能接近您听音乐的时间,您不希望您的音频事件发生在接近正确的时间,而是准时发生。

最佳答案

这可以通过使用 time 模块中的 sleep 函数轻松完成。确切的代码应该像这样工作:

import time

# Change data.txt to the name of your file
data_file = open("data.txt", "r")

# Get rid of blank lines (often the last line of the file)
vals = [i for i in data_file.read().split('\n') if i]

data_file.close()

for i in vals:
    i = i.split(',')
    i[1] = i[1][1:]
    time.sleep(float(i[0]))

    print i[1]

这是一个不完美的算法,但它应该能让您了解如何实现。我们读取文件,将其拆分为换行符分隔的列表,然后遍历每个逗号分隔的对联,休眠指定的秒数,并打印指定的字符串。

关于c++ - 如何一致地重播事件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13688354/

相关文章:

c++ - C/C++ 中的 rand、urand 和 irand 有什么区别?

windows - Perl Unicode 故障

Python脚本到批处理文件

.net - 如何获取远程网络共享的磁盘使用统计信息?

c++ - 有没有一种方法可以机械地识别哪些操作对移出的对象是安全的?

c++ - 我怎样才能找到 DirectShow 过滤器的 clsid?

c++ - 如何在 C++0x 中缓存 lambda?

python - Xvfb - 浏览器窗口不适合显示

python 使用有效负载和公钥字符串验证数字签名

python - 如何自定义 python 记录器行为?