Что нового

Превью файла (.mp4 и .jpg) в окно (ОС windows)

illianull

Новичок
Сообщения
3
Репутация
0
Нужно в окне программы отобразить превью файла (типа как в проводнике отображаются уменьшенные картинки). Это хоть возможно? Если да, то как?

P.s.: Пусть файлы для которых нужно отобразить превью лежат рядом с исполняемым скриптом и называются "video.mp4" и "img.jpg".
Код:
#include <GUIConstantsEx.au3>
#include <File.au3>
$video=@ScriptDir&"\video.mp4"
$img=@ScriptDir&"\img.jpg"
$GUI  = GUICreate('Preview', 500, 500)
;что делать дальше?


---добавлено позже---
img.jpg - НЕ превью
В качестве превью для mp4 нужно отобразить обложку. Что такое "обложка" можно посмотреть по ссылке Обложка.jpg

---что-то похожее---
На сайте autoitscript обсуждали извлечение обложки из mp3 в теме "Extracting album art from mp3"
Но тема для меня не простая и я с "родным" английским не на ты. К сожалению код, приведенный там на 2-й странице даже на mp3 не сработал.
Говорит:
Код:
MsgBox(64, 'Error', 'Couldnt find end of jpg!')

Если есть те, кто поймут, что там написано - опишите, пожалуйста, здесь по русски :-[

---ОТВЕТ---
Сделано по принципу "Extracting album art from mp3" из autoitscript. Код только для поиска png
Код:
#include <String.au3>
#include <FileConstants.au3>
#include <GDIPlus.au3>

$Mp4 = 'video.mp4'
$NewFile = "Output.png"
$ReadTo = 3000000 ;3mb enough

$File = FileOpen(@ScriptDir & '\'&$Mp4, 16)
$Read = FileRead($File,$ReadTo)
FileClose($File)
$ReadH = _HexToString($Read)

$StartStr = StringInStr($ReadH, '‰PNG', 2, 1)
$EndStr = StringInStr($ReadH, 'IEND®B`‚', 2, 1)

If $StartStr = 0 Then
	MsgBox(64, 'Error', 'No match for beginning of png!')
Exit ;Exit because there is no image.
Else
	If $EndStr = 0 Then
		MsgBox(64, 'Error', 'No match for end of png!')
	Else
		$Diff = $EndStr + 8 - $StartStr
		$Mid = StringMid($ReadH, $StartStr, $Diff)
		$StringFileHDL = FileOpen($NewFile, 18)
		FileWrite($StringFileHDL, $Mid)
		FileClose($StringFileHDL)
		;MsgBox(64, 'Message', 'All right')
	EndIf
EndIf


$ReadTo = 3000000 - ограничение на прочтение первых 3 мб. А то файл на 500 мб просто не прочитается (хотя лично у меня 139 мб обрабатывалось, но около минуты). И пока мне максимум попадались файлы с $EndStr равным 1725545.
 

DStalker

Ботоводство+Мультибоксинг = время выспаться ;)
Сообщения
39
Репутация
2
Превьюв видео с анимацией или просто в картинках?
Как я вижу, создайте хтмл шаблон, может содрать с любого порносайта.

Далее создаём окно с ядром из шаблона... и готово! На свой вкус можно приперчить, посолить... Можно шаблон автоматически создавать, если углубляться далее в автоматизацию. Вместо jpg,можно использовать gif, так содержание порно будет понятнее;)
Код:
#include <IE.au3>
$oIE = ObjCreate("Shell.Explorer.2")
GUICreate($title, 640, 480, -1, -1)
$GUIActiveX = GUICtrlCreateObj($oIE, 1, 1, 640, 480)-размеры по умолчанию.
GUISetState()
$oIE.navigate("C:\test\pornoviewer.html");pornoviewer.html - подкорректированый файл
Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
Sleep (1000)
 
Автор
I

illianull

Новичок
Сообщения
3
Репутация
0
DStalker спасибо за отклик. Я понял что плохо описал вопрос.
Добавление HTML в проект не решает проблему, а меняет вопрос на: "Как получить превью средствами HTML?"

Опишу поточнее — нужно прочитать обложку из mp4 (а про jpg я писал потому-что в списке будут и mp4 и jpg). jpg - это не превью, а отдельный самостоятельный файл. Создавать файл с картинкой-превью для mp4 не вариант.

"Обложка" показана на картинке по ссылке.
Обложка.jpg
 
Верх