KNMusicBackendPhononThread::KNMusicBackendPhononThread(QObject *parent) :
    KNMusicBackendThread(parent)
{
    //Initial the media object and audio output.
    m_mediaObject=new MediaObject;
//    m_mediaObject->moveToThread(&m_workingThread);
    m_mediaObject->setTickInterval(10);

    m_audioOutput=new AudioOutput(MusicCategory);
//    m_audioOutput->moveToThread(&m_workingThread);

    //Initial the state.
    m_state=KNMusic::StoppedState;

    //Link the media object and audio output.
    createPath(m_mediaObject, m_audioOutput);

    //Link signals.
    connect(m_mediaObject, &MediaObject::totalTimeChanged,
            this, &KNMusicBackendPhononThread::onActionDurationChanged);
    connect(m_mediaObject, &MediaObject::tick,
            this, &KNMusicBackendPhononThread::onActionPositionChanged);
    connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
            this, SLOT(onActionStateChanged(State,State)));
    connect(m_mediaObject, SIGNAL(finished()),
            this, SLOT(onActionFinished()));
}
Example #2
0
bool DialogAction::update( double dTime, float fElapsedTime )
{
	Action::update( dTime, fElapsedTime );

	if ( m_dialog && !m_dialog->isTalking() )
	{
		onActionFinished();
		deactivate();
		return false;
	}
	return true;
}