代码之家  ›  专栏  ›  技术社区  ›  dwelch

带PyQT4和声子的交叉衰落音频

  •  1
  • dwelch  · 技术社区  · 16 年前

    def music_play(self):
        self.delayedInit()
        self.m_media.setCurrentSource(Phonon.MediaSource(self.playlist[self.playlist_pos]))
        self.m_media.play()
    
    def music_stop(self):
        self.m_media.stop()
    
    def delayedInit(self):
        if not self.m_media:
            self.m_media = Phonon.MediaObject(self)
            audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
            Phonon.createPath(self.m_media, audioOutput)
    
    def enqueueNextSource(self):
        if len(self.playlist) >= self.playlist_pos+1:
            self.playlist_pos += 1
            self.m_media.enqueue(Phonon.MediaSource(self.playlist[self.playlist_pos]))
        else:
            self.m_media.stop()
    

    1 回复  |  直到 16 年前
        1
  •  2
  •   dwelch    16 年前

    看来我找到了我想要的解决办法。虽然不是每个phonon后端都支持它,但将MediaObject的transitionTime设置为负数将导致交叉淡入淡出。