使用WXPython的Python计时精度

2024-05-20 21:37:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个简单的mp3播放器,一次播放多个mp3。它就像是在混合。时间安排对于确保用户体验愉快至关重要,否则听起来就像两只猫在试图解决中东危机。我需要精确到10毫秒,如果不成功可能需要1毫秒。你知道吗

目前,我使用的是wxpython,我发现计时功能非常差(但对于音频播放来说非常好)。你知道吗

import wx
import wx.media

class MediaPanel(wx.Panel):
    INTERVAL = 10

    def tick(self, event):
        self.totalMS += self.INTERVAL

        if mixstart == self.totalMS:
            # play the song

        elif mixend == self.totalMS:
            # stop the song

        else 
            pass

所以我的问题是:我发现时间不一致。我可以有相同的歌曲加载到一个播放列表准备混合,它会混合在什么似乎是随机时间。一般来说,我对编程还是比较陌生的,从我所知道的,是计时函数不准确。出于调试目的,我将打印一个时间戳,让我知道我在函数中的位置。由于某些原因,计时器会随机停止,然后重新启动。你知道吗

问:有没有更好的办法?或者wx只是因为这样的事情而崩溃了?你知道吗


Tags: the函数用户importselfsong时间播放器
1条回答
网友
1楼 · 发布于 2024-05-20 21:37:33

我不认为你可以在任何GUI库中可靠地混合mp3播放。它并不意味着同步声音,如果你只是调用两个函数播放MP3,我相信没有办法控制时间。你知道吗

最容易想到的是先混合两首曲目,然后播放(如this question)。这还不够好吗?你知道吗

相关问题 更多 >