如何在vb6中使用VLC-Activex插件拍摄快照
我正在使用VLC Activex插件从视频流中拍摄快照如何在vb6中使用VLC-Activex插件拍摄快照,vb6,vlc,Vb6,Vlc,我正在使用VLC Activex插件从视频流中拍摄快照 但是当我调用函数vlc.video.takeSnapshot时,它返回Nothing 这是代码: Dim pic As IPictureDisp vlc.playlist.pause '--Video is paused Set pic = vlc.video.takeSnapshot '--Take snapshot and set it into pic vlc.playlist.play
但是当我调用函数vlc.video.takeSnapshot时,它返回Nothing
这是代码:
Dim pic As IPictureDisp
vlc.playlist.pause '--Video is paused
Set pic = vlc.video.takeSnapshot '--Take snapshot and set it into pic
vlc.playlist.play '--Video play again
If pic Is Nothing Then
Debug.Print "Nothing in pic"
End If
中间窗口显示:“图片中无任何内容”已定义快照功能:
Function takeSnapshot() As IPictureDisp
Member of AXVLC.IVLCVideo
take video snapshot and save it into picture object.
如果有人需要帮助,此功能将不再工作,对吗?Dim resp As Variant
Dim resp As Variant
Dim ls_prev_path As String
Dim ls_temp_path As String
Dim pic As IPictureDisp
ls_prev_path = CurDir
ls_temp_path = App.Path + IIf(Right(App.Path, 1) = "\", "", "\")
ls_temp_path = ls_temp_path + "tmp_snapshot\"
If Dir(ls_temp_path, vbDirectory) <> "" Then
If Dir(ls_temp_path + "*.bmp") <> "" Then Kill ls_temp_path + "*.bmp"
Else
MkDir ls_temp_path
End If
ChDir ls_temp_path
vlc1.playlist.pause
Set resp = vlc1.video.takeSnapshot()
vlc1.playlist.play
DoEvents
If Dir(ls_temp_path + "*.*") <> "" Then
ls_pic_file = ls_temp_path + Dir(ls_temp_path + "*.*")
Set pic = LoadPicture(ls_pic_file)
End If
ChDir ls_prev_path
Dim ls_上一个路径作为字符串
作为字符串的Dim ls\U temp\U路径
模糊pic为ipicutredisp
ls\u prev\u path=CurDir
ls\u temp\u path=App.path+IIf(右(App.path,1)=“\”,“,”,“\”)
ls_temp_path=ls_temp_path+“tmp_快照”
如果Dir(ls_temp_path,vbDirectory)“,则
如果Dir(ls_temp_path+“*.bmp”)”,则杀死ls_temp_path+“*.bmp”
其他的
MkDir ls_temp_路径
如果结束
ChDir ls\u temp\u路径
vlc1.playlist.pause
Set resp=vlc1.video.takeSnapshot()
vlc1.playlist.play
多芬特
如果Dir(ls_temp_path+“**”)“”则
ls_pic_file=ls_temp_path+Dir(ls_temp_path+“***”)
设置pic=LoadPicture(ls\u pic\u文件)
如果结束
ChDir ls_prev_路径
尺寸响应作为变型
Dim ls_上一个路径作为字符串
作为字符串的Dim ls\U temp\U路径
模糊pic为ipicutredisp
ls\u prev\u path=CurDir
ls\u temp\u path=App.path+IIf(右(App.path,1)=“\”,“,”,“\”)
ls_temp_path=ls_temp_path+“tmp_快照”
如果Dir(ls_temp_path,vbDirectory)“,则
如果Dir(ls_temp_path+“*.bmp”)”,则杀死ls_temp_path+“*.bmp”
其他的
MkDir ls_temp_路径
如果结束
ChDir ls\u temp\u路径
vlc1.playlist.pause
Set resp=vlc1.video.takeSnapshot()
vlc1.playlist.play
多芬特
如果Dir(ls_temp_path+“**”)“”则
ls_pic_file=ls_temp_path+Dir(ls_temp_path+“***”)
设置pic=LoadPicture(ls\u pic\u文件)
如果结束
ChDir ls_prev_路径
您是否尝试过不暂停?我还没有读过文档,但是我假设在视频对象上调用的任何方法都希望视频能够正常播放。还有,你用的是什么版本的VLC?我试过了,但它也一样,我用的是VLC.versionInfo,它返回“2.1.5 Rincewind”,你试过不暂停吗?我还没有读过文档,但是我假设在视频对象上调用的任何方法都希望视频能够正常播放。还有,你使用的是什么版本的VLC?我试过了,但效果一样,我使用的是VLC.versionInfo,它返回“2.1.5 Rincewind”