crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Rocky
  опции профиля:
сообщение 27.4.2010, 15:45
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем привет. Подскажите плиз, как убить процесс когда нужно? Я делаю так
m_pProcess = new QProcess(this);
m_sCommand1 = QString("mplayer %1 -quiet -loop 0");

void CMediaObject::play() const
{
    m_pProcess->start(sCommand.arg(m_sCurrentSource));
}

void CMediaObject::stop() const
{
    if (m_pProcess->state() != QProcess::NotRunning)
    {
        m_pProcess->terminate();
    }
    if (m_pProcess->state() != QProcess::NotRunning)
    {
        m_pProcess->kill();
    }

//вот тут QProcessState все равно Running - проверял
}


Музыка проигрывается... но вот когда нужно все остановить, ниче не получается.... Потому что у меня много раз происходит вызов play/stop и в очередном play при попытке начать процесс заново в консоль получаю "QProcess::start Process is already running". Как это можно исправить? Есть подозрение что убийство происходит не сразу, а через какое-то время, но большее чем 100 мс (потому что вызов play/stop происходит в таймере).


Qt. 4.6.2., ОС Ububntu 9.10.

Спасбо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.4.2025, 9:00