2013-11-25 31 views
0

我正在制作一个简单的MP3播放器,一次播放多个MP3。它就像混合一样。时机对于确保愉快的用户体验至关重要,否则它听起来像两只猫试图解决中东危机。我需要精确到10毫秒,如果不能解决问题,可能需要1毫秒的精度。使用WXPython Python的时间精度

目前,我使用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只是因为这样的事情而破碎?

回答

0

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

最容易想到的是混合两个轨道,然后播放(如在this question)。这不够好吗?