Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Crazy Sage от Август 15, 2017, 10:05



Название: Проблема с завершением QProcess'а
Отправлено: Crazy Sage от Август 15, 2017, 10:05
Пытаюсь проигрывать видео, используя QProcess (к сожалению QMediaPlayer до сих пор имеет массу проблем, когда надо проигрывать много файлов за одну сессию, а на изучение vlc времени нет), но мне надо останавливать видео и почему-то попытка прибить процесс ни к чему не приводит, может кто-то подсказать, что я делаю не так?
Код запуска процесса:

Код:
process_ = new QProcess(this);
int screen_ = 2;
QString path_ = "D:\\Movies\\video.avi";
QString vlc_path = "\"c:\\Quest\\VLC\\VLCPortable.exe\"";
QStringList arguments;
arguments<<"--qt-minimal-view";
arguments<<"--no-qt-fs-controller";
arguments<<"--qt-start-minimized";
arguments<<QString("--qt-fullscreen-screennumber=%1").arg(screen_-1);
arguments<<"--fullscreen";
arguments<<"--play-and-exit";
arguments<<"--no-osd";
arguments<<"--no-qt-bgcone";
arguments<<path_.replace("/","\\");
process_->start(vlc_path, arguments);

Код остановки:

Код:
process_->close();//->kill() and ->terminate() тоже не работают.


Название: Re: Проблема с завершением QProcess'а
Отправлено: qate от Август 15, 2017, 20:28
твой процесс может и останавливается, а vlc нет
см. http://smplayer.sourceforge.net/ - он управляет консольным плеером mplayer или mpv через установку управляющего канала с ними
детали не скажу, но есть исходники )