我正在制作一个简单的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刚刚被打破了这样的事情?
答案 0 :(得分:0)
我认为你不能在任何GUI库中可靠地混合mp3播放。它并不意味着同步声音,如果你只是调用两个播放mp3的函数,我相信没有办法控制时间。
最简单的想法是首先混合两首曲目,然后再播放(如this question中所示)。那不够好吗?