Запуск видеофайла с определенной временной позиции
Модератор: Дед Пахом
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Здравствуйте!
Посоветуйте, пожалуйста, видеоплеер под Windows, позволяющий воспроизводить видеофайлы с определенной временной позиции посредством их запуска из командной строки или должным образом настроенного ярлыка.
Посоветуйте, пожалуйста, видеоплеер под Windows, позволяющий воспроизводить видеофайлы с определенной временной позиции посредством их запуска из командной строки или должным образом настроенного ярлыка.
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Запуск видеофайла с определенной временной позиции
Добрый день!
Media Player Classic
Имеет настройку- сохранить позицию при выходе. И будет проигрывать повторно с сохранённой позиции
Алексей
Media Player Classic
Имеет настройку- сохранить позицию при выходе. И будет проигрывать повторно с сохранённой позиции
Алексей
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Спасибо, Алексей!
Он, кроме описанной Вами функции, умеет еще и то, что как раз мне и нужно - запускать видеофайлы из командной строки посредством параметра /startpos hh:mm:ss
Но, запускается он почему-то в связке плеер+файл с интерфейсом на английском языке.
Т. е. если запустить сначала плеер, то в настройках имеется возможность выбрать и, как следствие, изменить язык программы, но при запуске из командной строки (в связке с файлом) - такая возможность отсутствует. Если я не прав - подскажите как его изменить при воспроизведении таким образом запущенного файла или, еще лучше, как сделать так, чтобы плеер запускался уже на русском языке.
Он, кроме описанной Вами функции, умеет еще и то, что как раз мне и нужно - запускать видеофайлы из командной строки посредством параметра /startpos hh:mm:ss
Но, запускается он почему-то в связке плеер+файл с интерфейсом на английском языке.
Т. е. если запустить сначала плеер, то в настройках имеется возможность выбрать и, как следствие, изменить язык программы, но при запуске из командной строки (в связке с файлом) - такая возможность отсутствует. Если я не прав - подскажите как его изменить при воспроизведении таким образом запущенного файла или, еще лучше, как сделать так, чтобы плеер запускался уже на русском языке.
-
- ✯ Ветеран ✯
- Сообщения: 5022
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Запуск видеофайла с определенной временной позиции
Ничего подобного, запускается с настройками, которые есть. Скачай обновление, проверь настройки в реестре.NewUser писал(а):Т. е. если запустить сначала плеер, то в настройках имеется возможность выбрать и, как следствие, изменить язык программы, но при запуске из командной строки (в связке с файлом) - такая возможность отсутствует. Если я не прав - подскажите как его изменить при воспроизведении таким образом запущенного файла или, еще лучше, как сделать так, чтобы плеер запускался уже на русском языке.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 5022
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Запуск видеофайла с определенной временной позиции
А для чего это надо? Невозможно из программы это сделать? Спрашиваю так, на всякий случай, вдруг нужно из программы открыть видеофайл, а мы идём в обход.
We are hard at work… for you.
Запуск видеофайла с определенной временной позиции
Через mcisendstring запускается непосредственно из программы с любой позиции без всякого плеера, могу поискать...
И через Windows Media player activeX можно, естественно...
И через Windows Media player activeX можно, естественно...
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Так и сделал. Только сначала снес старую версию. Заработало как надо!
Спасибо!
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Пишу БД по огромным залежам видео материалов разных категорий, тем, авторов и т.д. С доступом к каждой лекции (файл), разделу лекции (позиция в файле), тезису (еще одна временная подпозиция в файле), мыслям по тезису, скриншотами и т.п.
Чтобы не заморачиваться (по крайней мере на начальном этапе) с написанием своего плеера, принял решение использовать наиболее распространенный, содержащий все необходимые функции для видео просмотра, а также умеющий позиционироваться на нужном месте при запуске из командной строки.
Хотя, на будущее, не исключаю возникновения потребности более плотной интеграции плеера с функционалом программы. Поэтому заранее благодарен Юрию за его предложение.
-
- ✯ Ветеран ✯
- Сообщения: 5022
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Запуск видеофайла с определенной временной позиции
На мой взгляд, надо бы начать было со встроенного плеера. Во-первых, не очень сложно. Во-вторых, большой плюс программе.NewUser писал(а):Чтобы не заморачиваться (по крайней мере на начальном этапе) с написанием своего плеера, принял решение использовать наиболее распространенный, содержащий все необходимые функции для видео просмотра, а также умеющий позиционироваться на нужном месте при запуске из командной строки.
Хотя, на будущее, не исключаю возникновения потребности более плотной интеграции плеера с функционалом программы. Поэтому заранее благодарен Юрию за его предложение.
We are hard at work… for you.
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Я полностью согласен с данной точкой зрения.
Здесь надо иметь в виду, что проект затевался, имея своей целью удовлетворения еще "вчера" возникшей потребности оперативного и всестороннего доступа к любым фрагментам видеоматериалов в рамках нашей организации. Т.е. он, в первую очередь, создается для внутреннего пользования.
Исходя из этого (помня об оперативности его создания) написание плеера не является приоритетной задачей. Ни по временным, ни по финансовым параметрам. Тем более, что опыта его написания у меня попросту нет.
Если в последствии будет принято решение по коммерциализации проекта, то, несомненно, надо будет вернуться к вопросу интеграции плеера с самой программой. Кстати, спасибо за озвученный аргумент в пользу этого!
Запуск видеофайла с определенной временной позиции
А mcisendstring тоже не особо сложно.
Вот, например, запуск фильма на проигрывание на полном экране.Надо бы видео вместо sound, но просто скопипастил кусок
Здесь MCICommand - команда, MCIreturn - буфер для результата, 128-длина буфера, sound-просто назначенный идентификатор потока, можно заменить на любой другой.
А вот играем музыку от (loc:From) с указанной продолжительностью (Loc:Duration)
Надо иметь в виду, что эти команды не останавливают программу, работа программы продолжается дальше
Поэтому уместно при закрытии окна
Можно указать окно проигрывателя в любом месте экрана и прикрепить к окну, но это искать надо.
Для проигрывания звуков - почти без альтернативы (впрочем, сейчас в основном делаем swf 1x1 пиксель со звуком, и фильмы для совместимости с web тоже в swf-flv)
Вот, например, запуск фильма на проигрывание на полном экране.Надо бы видео вместо sound, но просто скопипастил кусок
Здесь MCICommand - команда, MCIreturn - буфер для результата, 128-длина буфера, sound-просто назначенный идентификатор потока, можно заменить на любой другой.
Код: Выделить всё
mciSendString(*CSTRING,*CSTRING,USHORT,USHORT),ULONG,PASCAL,RAW,PROC,NAME('mciSendStringA')
Код: Выделить всё
MCICommand='open "'&soundname&'" alias sound'
MCISendString(MCICommand,MCIReturn,128,0{Prop:Handle})
MCICommand='play sound fullscreen'
MCISendString(MCICommand,MCIReturn,128,0{Prop:Handle})
Код: Выделить всё
MCICommand='open "'&soundname&'" alias sound'
MCISendString(MCICommand,MCIReturn,128,0{Prop:Handle})
MCICommand='play sound'
If Loc:From
MCICommand=MCICommand & ' from ' & Loc:From*10
End
If Loc:Duration
MCICommand=MCICommand & ' to ' & (Loc:From+Loc:Duration)*10
End
MCISendString(MCICommand,MCIReturn,128,0{Prop:Handle})
Поэтому уместно при закрытии окна
Код: Выделить всё
MCICommand='stop sound'
MCISendString(MCICommand,MCIReturn,128,0{prop:handle})
MCICommand='close all'
MCISendString(MCICommand,MCIReturn,128,0{prop:handle})
Для проигрывания звуков - почти без альтернативы (впрочем, сейчас в основном делаем swf 1x1 пиксель со звуком, и фильмы для совместимости с web тоже в swf-flv)
-
- ✯ Ветеран ✯
- Сообщения: 5022
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Запуск видеофайла с определенной временной позиции
Если будет надо, я могу выложить текст функции управления проигрыванием аудио и видео. Кажется, изначально она Юрием и написана. Я дорабатывал видео. Единственное, до чего руки не дошли, прикрепить к своему окну.
We are hard at work… for you.
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Спасибо, Юрий! Как всегда - оперативно, предметно и наглядно.
А без нее окно самого плеера будет расположено в левом верхнем углу окна программы?
Я правильно понимаю, что под этим термином скрывается привязка к координатам окна программы, на котором будет отображаться видео файл?
А без нее окно самого плеера будет расположено в левом верхнем углу окна программы?
-
- Старожил
- Сообщения: 226
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 4 раза
Запуск видеофайла с определенной временной позиции
Я считаю целесообразным, дабы не возвращаться еще раз к поднятию данного вопроса, выложить код заявленной функции здесь, в теме, чтобы была возможность воспользоваться ею не только в любое время, но и любым заинтересованным в этом разработчиком.
Запуск видеофайла с определенной временной позиции
Окно плеера можно где угодно делать. Я укладывал поверх других контролов (например, прямоугольника, панели)
Просто не нашёл сразу процедуру, где это есть
Вот здесь Loc:N - номер контрола, поверх которого рисую, Vname - имя потока (в предыдущем коде 'sound')
А потом играем, как раньше
Просто не нашёл сразу процедуру, где это есть
Вот здесь Loc:N - номер контрола, поверх которого рисую, Vname - имя потока (в предыдущем коде 'sound')
Код: Выделить всё
0{Prop:Pixels}=True ! Работаем в пикселах
MciCmd = 'open "' & clip(Loc:FileName) & '" alias ' & Vname & ' parent ' & 0{Prop:Handle} & ' style child '
Err#=mciSendString(mciCmd, mciRtn, MsgLen,WindowHnd)
If Err#
Say('Oшибка при создании или воспроизведении видео')
RtnVal = False
Exit
END
W=Loc:N{Prop:Width}
H=Loc:N{Prop:Height}
MciCmd = 'put ' & Vname & ' window client at ' & |
Loc:N{Prop:Xpos} & ' ' & |
Loc:N{Prop:Ypos} & ' ' & |
W & ' ' & H
Err#=mciSendString(mciCmd, mciRtn, MsgLen,WindowHnd)