再发一个摄像头显示ocx控件, 比较老问题比较多,不建议用

By admin at 2022-01-22 • 0人收藏 • 191人看过

image.png

这个是09年的控件  , 我说的不好用主要是以下几点:

  1. 没有自适应大小功能, 拖动界面变大后, 摄像头画面大小并不会改变

  2. 打开摄像头只能按照指定名称来, 这样如果电脑里有大于2个同名称一样型号的摄像头,其他摄像头就别想打开了, 只能打开第一个....

主要是我测试过了, 那么就算了,分享出来吧..... 要用摄像头请找别的帖子里的用...

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio工程2";right=498;bottom=509)
mainForm.add(
audioList={cls="combobox";left=177;top=472;right=340;bottom=498;db=1;dl=1;dr=1;edge=1;items={};mode="dropdown";z=4};
button={cls="button";text="<--打开此摄像头";left=350;top=472;right=492;bottom=498;db=1;dr=1;z=2};
picturebox={cls="picturebox";left=0;top=0;right=499;bottom=466;bgcolor=8421376;db=1;dl=1;dr=1;dt=1;z=1};
videoList={cls="combobox";left=7;top=472;right=162;bottom=498;db=1;dl=1;edge=1;items={};mode="dropdown";z=3}
)
/*}}*/

import console
console.open()

import fsys;
import com.activeX;
try{
	com.CreateObject("{D0F69A92-6534-40AA-A9C7-C5C3DC15CCCD}");
}
catch(e){
	if(!io.exist(fsys.appdata("\com\VideoCapture.lic")))
	{
    	string.save(fsys.appdata("\com\VideoCapture.lic"),$"\res\VideoCapture.lic");	
	}
	if(!io.exist(fsys.appdata("\com\VideoCapture.ocx")))
	{
    	string.save(fsys.appdata("\com\VideoCapture.ocx"),$"\res\VideoCapture.ocx");	
	}
	com.activeX.regsvr32(fsys.appdata("\com\VideoCapture.ocx"));
}

var video = mainForm.picturebox.createEmbedEx("{D0F69A92-6534-40AA-A9C7-C5C3DC15CCCD}",,{
	Click = function(){
		video._object.Click();
	};
	DblClick = function(){
		video._object.DblClick();
	};
	MouseDown = function(){
		video._object.MouseDown();
	};
	MouseMove = function(){
		video._object.MouseMove();
	};
	MouseUp = function(){
		video._object.MouseUp();
	};
});
//音频
for(i=1;video.GetAudioDevicesCount( );1){
	mainForm.audioList.add(video.GetAudioDevicesName(i));
}
//视频
for(i=1;video.GetVideoDevicesCount( );1){
	mainForm.videoList.add(video.GetVideoDevicesName(i));
}

//事件
video.Click = function(){
	console.log("Click")
}
video.DblClick = function(){
	console.log("DblClick")
}
video.MouseDown = function(){
	console.log("MouseDown")
}
//video.MouseMove = function(){
//	console.log("MouseMove")
//}
video.MouseUp = function(){
	console.log("MouseUp")
}

//打开
mainForm.button.oncommand = function(id,event){
	video.SetAudioDevicesName(mainForm.audioList.text);	
	video.SetVideoDevicesName(mainForm.videoList.text);	
}


mainForm.show();
return win.loopMessage();

aardio工程2.zip


登录后方可回帖

登 录
信息栏
公告:
个人博客
专注分享
谢谢合作!

本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
打赏本站
Loading...