crossplatform.ru

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


  Ответ в Запуск файлов один за другим
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
frefik Дата 1.6.2011, 20:33
  Без привязки к конкретному плееру и там еще не только видео файлы, вообщем sleep(), самое то.
RazrFalcon Дата 31.5.2011, 13:55
  Ну если пауза/перемотка не нужна - то норм.

Как по мне, лучше всего настроить в запускаемом плеере автозавершение по окончании воспроизведения. А в вашей проге просто ждать, ака waitForFinished(). ИМХО.
frefik Дата 31.5.2011, 9:20
  RazrFalcon
Спасибо за помощь

Задачу решил с помощью второго потока и функции sleep() :D .
Кидаю с помощью сигнала QList<QTreeWidgetItem *> list(итемы таблицы) и далее в функции работаю сними, тупо вызываю sleep(), продолжительностью равную длительности файла.
Решение нормальное или тут что-то дико?
Litkevich Yuriy Дата 30.5.2011, 20:06
  читать асистент
RazrFalcon Дата 30.5.2011, 18:57
  Как?
Litkevich Yuriy Дата 30.5.2011, 18:48
  просто QProcess может сам работу работать, нужно толко к его сигналам подключтся, вместо того, чтобы зациклившись ждать, когда он закончит.
RazrFalcon Дата 30.5.2011, 18:35
  Можно во втором потоке запускать.
И да, я просто предложил.
Все равно ТС нужно запускать приложения, а как это сделать без QProcess я не знаю.
Litkevich Yuriy Дата 30.5.2011, 18:30
  RazrFalcon, а события GUI (например, таскание окошка) когда обрабатывать будешь?
RazrFalcon Дата 30.5.2011, 13:47
 
QProcess video;
// movieCount - количество фильмов, ну или tableWidget->rowCount(); или в чем вы там выводите.
for (int i=0; i<movieCount; ++i) {
// нужна прога, которая берет файлы из аргументов. В консоли kmplayer movie.avi. Как то так;
video.start("тут пишем путь к программе", QStringList("тут путь к файлу"));
video.waitForFinished(); // если сама завершится.
video.waitForFinished(10000000000); // если нужно ждать, в msecs
//video.close(); //если само не завершится.
}
frefik Дата 30.5.2011, 13:25
  Да.
Можете привести пример пожалуйста.

Грубо говоря задача следующая:
файл video1.avi, продолжительность 10 минут
файл video2.avi, продолжительность 5 минут
файл video3.avi, продолжительность 34 минут
Задача поочередно файлы, проиграть программой по-умолчанию.
Не просто запустить, а запустить первый подождать(как?) 10 минут, завершить первый, запустить второй и.т.д.

Мне бы пример.
Как бы вы её реализовали?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 10:44