Olen yrittänyt tutkailla kuinka saisin luotua thumbnail-kuvan Visual Basicilla (käytän VB 2008 Express Editionia) videotiedostosta. Onko kellään kokemusta tällaisesta / löytyisikö vinkkejä tai jopa koodia siitä miten tämän voisi toteuttaa? Googlettamalla en ole vielä löytänyt mitään mitä olisin onnistunut soveltamaan käytännössä.
Ajatuksena on että tämä sovelluksen osa toimisi siten että kun video vedetään Drag-Droppina Panel-komponenttiin niin siitä tallennettaisiin thumbnail ja näytettäisiin panel-komponentin sisällä olevassa PictureBoxissa.
Moro liquid8!
vääntele oheisen virityksen pohjalta (tee drag 'n' drop viritys itse)
Imports System.Windows.Forms
Imports DexterLib
Public Partial Class MainForm
Private basePath As String = String.Empty
Private thumbPath As String = String.Empty
Private xdigits As Integer
Public Sub New()
Me.InitializeComponent()
End Sub
Sub Button1MouseUp(sender As Object, e As MouseEventArgs)
SetPlayer
End Sub
Sub SetPlayer()
basePath = Environment.GetFolderPath( _
Environment.SpecialFolder.Personal)
basePath += "\Omat videotiedostot"
thumbPath = basePath + "\thumbs"
If Dir(thumbPath, vbDirectory) = "" Then
MkDir(thumbPath)
End If
Dim theURL As String = _
basePath + "\Music Videos\The Wall.avi" 'esim.
Dim theFile As String = _
theURL.Substring(theURL.LastIndexOf("\") + 1, _
theURL.Length - theURL.LastIndexOf("\") - 1)
Dim ext As String = _
theFile.ToLower.Substring( _
theFile.LastIndexOf("."), _
theFile.Length - theFile.LastIndexOf("."))
MediaPlayer1.URL = theURL
MediaPlayer1.fullScreen = False
MediaPlayer1.uiMode = "None"
MediaPlayer1.stretchToFit = True
MediaPlayer1.Update
thumbPath += "\" + theFile.Replace(ext, ".jpg")
If Dir(thumbPath) = "" Then
CreateThumb(thumbPath)
End If
PictureBox1.ImageLocation = thumbPath
End Sub
Sub CreateThumb(ByVal fileName As String)
Dim percentage As Double = 0.05
Dim mdc As New MediaDetClass
mdc.Filename = MediaPlayer1.URL
mdc.CurrentStream = 0
mdc.WriteBitmapBits(percentage * _
mdc.StreamLength, 120, 90, thumbPath)
End Sub
Sub MainFormFormClosing( _
sender As Object, e As FormClosingEventArgs)
Me.Dispose
End Sub
Sub MainFormFormClosed( _
sender As Object, e As FormClosedEventArgs)
End
End Sub
End ClassAihe on jo aika vanha, joten et voi enää vastata siihen.