2013-11-25 63 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)。這不夠好嗎?