FLASH打开摄像头黑屏/白屏等处理办法

一般现在大部分电脑上的浏览器都已经安装了flash插件,能够直接观看视频和打开摄像头或者麦克风,极个别电脑可能例外,如果遇到不能使用的情况,这里提供几种解决办法:
  1. 刷新浏览器一两次看是否能打开;
  2. 确认FLASH播放器浏览器插件是否安装,打开新浪体育频道看是否能播放视频;
  3. 下载新版本的FLASH,https://get2.adobe.com/cn/flashplayer/,安装完成之后关闭浏览器重新打开,打开后刷新页面;
  4. 确认电脑摄像头是否打开,有些外接摄像头有电源开关,确保摄像头是打开的;
  5. 摄像头只能一个程序使用,关闭其他可能使用摄像头的程序或者页面。
  6. 以上操作都不成功,也可能是IE选项中设置的安全级别过高,可调低安全级别,如下图所示:
  7. 终极办法换浏览器,请升级ie到最新版本,或者下载360浏览器,谷歌浏览器都是可以的。

按照上述方法都始终无法使用,这可能是该电脑已经抛弃了你,请不要执着,不如换一台电脑享受健康美好生活。

windows下cab打包与签名

cab的打包有各式各样的工具,windows下一直有个默认的工具iexpress可以做到这一点,下面简单看一下一个简单的示例如何打包一个cab并在网页上引用

1、制作inf文件

default.INF
最开始一般是[Version]区:

[Version]
signature=” $CHICAGO$ ”
AdvancedINF=2.0
接下来就是最重要的[Add.Code]区:

[Add.Code]
getcertocx.ocx=getcertocx.ocx
前面是要下载的文件名,后面是对应这个文件的区域名,可以是任何名字,不过一般都是和文件的名字相同,这样方便维护。
再接下来是各个文件的区域了
[getcertocx.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22}
DestDir=11
FileVersion=1,0,0,1

[getcertocx.ocx]区域中的第一个file值告诉ie到哪里去得到这个ocx,file一共包括三个部分,第一部分是file,这个永远都是这样的;第二部分告诉声明支持的OS,win32表示windows,mac就是苹果MAC OX了;第三部分是CPU类型,比如说x86、mips等

file的值可以取三个:一个URL、ignore和thiscab,如果是URL则说明到URL所在的位置去下;如果是ignore说明对于这种OS和CPU,不需要下载这个文件;如果是thiscab就在当前的cab文件中了。

第二部分是RegisterServer,可以取两个值yes和no,如果为yes则说明ie要注册该ocx,如果是no就不必了;

接下来是clsid,需要填写该ocx的class guid。

再下来是DestDir,它的值是ocx将要存到本地硬盘的位置,如果它的值是10,则将ocx放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者

\WinNT\System32下;如果是空(就是没有值)则会放到\Windows或者\WinNT下的Downloaded Program Files目录下;

最后是FileVersion,说明了ocx的版本号。

完整的示例default.INF文件如下

[Version] 
signature="$CHICAGO$" 
AdvancedINF=2.0 

[Add.Code] 
getcertocx.ocx=getcertocx.ocx 

[getcertocx.ocx] 
file-win32-x86=thiscab 
RegisterServer=yes 
clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22} 
DestDir=11 
FileVersion=1,0,0,1 

2、制作cab文件

利用iexpress.exe(windows提供的一个向导式cab制作工具) 在路径C:\Windows\System32\iexpress.exe

1

选“创建新的自解压缩指定文件”,点“下一步”。

2

选“仅创建压缩文件(ActiveX安装)”,点“下一步”。

3

点“添加”将上边制作好的default.inf和getcertocx.ocx文件添加进来,点“下一步”。

4

点“浏览”输入要生成的CAB文件名称,并选中“在软件包中使用长文件名保存文件”,之后点“下一步”。

5

选“不保存”,点“下一步”。

6

点“下一步”。

8

点“完成”退出向导,cab文件生成。

9

3.web上引用

<object width="0" HEIGHT="0"
 classid="CLSID:0A0488CF-F9AB-4AC4-AD8F-CD893553DD22"
 codebase="getcert.cab#Version=1,0,0,1">
</object>

注意classid和版本号要与inf文件中的一样,而且版本号是dll或者ocx文件本身的真实版本,这样的话后续版本修改之后网页可自动更新。

4.对cab文件进行签名

一般来说如果做一个自签名的证书其实意义不是很大,只有正版的证书才有意义

这里是制作一个自签名的证书并对cab文件进行签名,使用的是Visual Studio2010的命令行工具

image

执行下面四行命令可对文件进行签名

makecert -r -sv fullstacks_key.pvk -n "CN=fullstacks" fullstacks.cer
cert2spc fullstacks.cer fullstacks.spc
pvk2pfx -pvk fullstacks_key.pvk -pi fullstacks -spc fullstacks.spc -pfx fullstacks.pfx -po fullstacks
signtool  sign  /f fullstacks.pfx /p fullstacks  *.cab

5.在cab安装的时候执行exe

下面是一个示例每次都执行的

[Setup Hooks]
hook1=hook1

[hook1]
run=%EXTRACT_DIR%\example_setup.exe /q

[Version]
; This section is required for compatibility on both Windows 95 and Windows NT.
Signature="$CHICAGO$"
AdvancedInf=2.0

下面是一个有条件执行,当机器里没有注册指定的dll的时候运行,当然也可以加上文件版本,如果版本更新也可以执行

[Add.Code]
example.ocx=example.ocx

[example.ocx]
Clsid={...}
hook=hook1
FileVersion=1,0,0,1

[hook1]
run=%EXTRACT_DIR%\example_setup.exe /q

[Version]
; This section is required for compatibility on both Windows 95 and Windows NT.
Signature="$CHICAGO$"
AdvancedInf=2.0

总结

cab在网页使用的场景比较多,最大的好处就是能够自动下载安装,如果浏览器里面当前网页在新人区里的话可以自动下载安装没有任何提示,这个在用户体验上也比较好,可以默默无闻的进行更新,这种情况比较适合计算机水平比较低的最终用户,不需要操作就可以使用最新的功能,但是对一些高级用户就不一合适。不过这些只是比较合适IE的用户,其他浏览器或多或少的总是有一些不一样的地方。