1

オーディオファイルをフォノンとクロスフェードさせようとしています。PyQT4を使用しています。トラックが適切にキューイングされていますが、フェード効果が止まっています。KVolumeFaderエフェクトを使用する必要があると思います。これが私の現在のコードです:

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()

効果の実装について誰かアドバイスをいただけますか?

4

1 に答える 1

2

私が探していた解決策を見つけたようです。すべてのフォノンバックエンドでサポートされているわけではありませんが、MediaObjectのtransitionTimeを負の数に設定するとクロスフェードします。

于 2010-05-24T15:07:12.703 に答える