双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

jsp中嵌入APPLET 使用jmf 刷新页面时会出现java.io.IOException: Capture device in use

shen23132379 shen23132379 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
第一次进入页面可以正常显示视屏 但是当页面刷新时就会又调用APPLET 驱动又会重新加载 但是又不允许重复加载驱动
请问有什么方法可以解决 谢谢
错误如下:
MediaNode event thread java.lang.InterruptedException
MediaNode event thread java.lang.InterruptedException
java.io.IOException: Capture device in use
java.io.IOException: Capture device in use
javax.media.NoPlayerException: Error instantiating class: com.sun.media.protocol.vfw.DataSource : java.io.IOException: Capture device in use
at javax.media.Manager.createPlayerForContent(Manager.java:1362)
at javax.media.Manager.createPlayer(Manager.java:417)
at javax.media.Manager.createRealizedPlayer(Manager.java:553)
at AppletTest.AppletTest.getJContentPane(AppletTest.java:106)
at AppletTest.AppletTest.init(AppletTest.java:64)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.awt.IllegalComponentStateException: contentPane cannot be set to null.
at javax.swing.JRootPane.setContentPane(Unknown Source)
at javax.swing.JApplet.setContentPane(Unknown Source)
at AppletTest.AppletTest.init(AppletTest.java:64)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.ThreadDeath
at java.lang.Thread.stop(Unknown Source)
at java.lang.ThreadGroup.stopOrSuspend(Unknown Source)
at java.lang.ThreadGroup.stop(Unknown Source)
at sun.awt.AppContext.dispose(Unknown Source)
at sun.applet.AppletClassLoader.release(Unknown Source)
at sun.plugin.security.PluginClassLoader.release(Unknown Source)
at sun.applet.AppletPanel.release(Unknown Source)
at sun.applet.AppletPanel.sendEvent(Unknown Source)
at sun.plugin.AppletViewer.onPrivateClose(Unknown Source)
at sun.plugin.AppletViewer$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

代码如下:

private CaptureDeviceInfo[] getDevices() { //得到所有驱动
Vector devices = CaptureDeviceManager.getDeviceList(null);
CaptureDeviceInfo[] info = new CaptureDeviceInfo[devices.size()];
for (int i = 0; i < devices.size(); i++) {
info[i] = (CaptureDeviceInfo) devices.get(i);
}
return info;
}
private CaptureDeviceInfo[] getVideoDevices() { //筛选视屏驱动

CaptureDeviceInfo[] info = getDevices();
CaptureDeviceInfo[] videoDevInfo;
Vector vc = new Vector();
for (int i = 0; i < info.length; i++) {
Format[] fmt = info[i].getFormats();
for (int j = 0; j < fmt.length; j++) {
if (fmt[j] instanceof VideoFormat) {
vc.add(info[i]);
}
break;
}
}
videoDevInfo = new CaptureDeviceInfo[vc.size()];
for (int i = 0; i < vc.size(); i++) {
videoDevInfo[i] = (CaptureDeviceInfo) vc.get(i);
}
return videoDevInfo;
}
private JPanel getJContentPane() { //把驱动加载到player中
DataSource videoDataSource=null;
if (jContentPane == null) {
BorderLayout borderLayout = new BorderLayout();
jContentPane = new JPanel();
jContentPane.setLayout(borderLayout);
MediaLocator ml = null;
try{
if (getVideoDevices()[0] != null) {
ml = getVideoDevices()[0].getLocator();
player = Manager.createRealizedPlayer(ml);
player.start();
Component comp = player.getVisualComponent();
if (comp != null){
jContentPane.add(comp, BorderLayout.CENTER);
}
else
{
message="111";
return null;
}
}
else
{
message="222";
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
return jContentPane;
}
...全文

相关推荐

Kubernetes集群部署与管理实战项目

Kubernetes集群部署与管理实战项目

miaobinfei

三相PWM整流器双闭环控制仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了三相PWM整流器双闭环控制的Simulink仿真模型,重点围绕电压外环和电流内环的协同控制策略展开。通过建立系统的数学模型与控制框图,实现了对整流器输出直流电压的高精度稳定控制以及输入电流的单位功率因数校正。内容涵盖系统建模、控制器参数设计、PWM调制方式的选择与实现、坐标变换(如abc/dq变换)的应用,以及仿真结果的全面分析。通过动态响应测试、抗干扰能力验证和稳态性能评估,充分展示了双闭环控制在提升系统稳定性、响应速度和电能质量方面的优越性,为电力电子装置中高性能整流技术的研究与工程应用提供了完整的仿真验证方案。; 适合人群:具备电力电子技术、自动控制理论及Simulink仿真基础,从事新能源发电、电力传动、工业自动化等相关领域研究的研发人员及高校研究生。; 使用场景及目标:①掌握三相PWM整流器的工作原理及其双闭环控制结构的设计方法;②深入理解电压外环与电流内环的耦合关系与解耦控制策略;③学习基于Simulink的电力电子系统建模、仿真与性能分析流程;④为实际工程项目中的整流器控制系统开发提供理论支持与实践参考。; 阅读建议:建议读者结合电力电子教材与控制理论知识同步学习,重点关注控制器参数整定过程与仿真结果的物理意义解读,并动手复现仿真模型以加深对控制逻辑的理解。

大龙不吃小鱼干

47-基于STM32的自动衣物晾晒控制系统设计(设计+原理+程序+仿真+全套资料).rar

项目47-基于STM32自动衣物晾晒控制系统设计 资料包括Proteus仿真+Keil程序+Altium Designer原理图+软件安装包+参考设计说明书+答辩PPT+设计流程图,保证资料完整性! 功能: (1)本设计以STM32单片机为控制核心,精准调控自动衣物晾晒控制系统,实现智能化运行与高效管理。 (2)采用DHT11温湿度传感器,实时精准感知环境温湿度,为衣物晾晒提供科学的环境数据参考。 (3)人体红外模拟开关用于检测人体活动,实现有人时系统特定操作,无人时智能调整晾晒模式,便捷实用。 (4)OLED12864显示屏清晰呈现信息,包括温湿度、系统状态等,方便用户直观了解衣物晾晒情况。 (5)步进电机作为执行装置,精准控制衣物晾晒角度,确保衣物均匀受光,提升晾晒效果,资料可借鉴。

创界工坊工作室

MediaPipe跌倒检测看护系统实战

这是一套基于 MediaPipe Pose 的老人跌倒检测看护系统完整实战教程,给普通摄像头装上一双看得懂人体姿态的眼睛,逐帧提取 33 个人体关键点,用躯干倾角和肩膀高度骤降两路几何特征判断人有没有倒下,判定成立就地报警并自动留档。交付物含可运行 Python 源码、演示视频、9 章文档(三件套)、PPT 和 6 张真跑截图。 内容围绕 main.py 的命令:gui 打开 Tkinter 双栏看护面板,左栏实时画面加骨架叠加与状态条,右栏事件列表,跌倒即弹窗,倾角阈值、骤降阈值、连续确认帧数三根滑杆当场可调;video 不开界面跑完整段视频,产出骨架序列帧与事件 CSV;demo 程序化生成演示视频,没有摄像头也能复现整条链路。报警瞬间追加一行 CSV 并保存现场截图,CSV 用 utf-8-sig 编码,Excel 双击打开中文不乱码。 亮点在于无显卡要求:普通 CPU 即可运行,实时 30-40 FPS,无需训练;依赖锁定 Python 3.10 + mediapipe 0.10.9 + opencv-python 4.8.1.78 + numpy 1.26.0 + pillow 12.3.0;第 7 章整理 13 个以上高频报错;第 8 章给出换多人姿态、接入摄像头、对接云平台的二次开发路径。 适合做计算机视觉方向毕业设计的学生、智慧养老课题的学习者,以及需要课程大作业演示项目的开发者。会 Python 基础即可,无需深度学习背景。 使用方式:进入 src 目录建虚拟环境并 pip install -r requirements.txt,py main.py demo 生成演示视频,py main.py 启动看护面板选演示视频点启动即可看到跌倒报警全流程。

小鹿( ﹡ˆoˆ﹡ )

三相静止无功发生器SVG仿真设计【含说明报告】

内容概要:本文详细介绍了一种基于Matlab/Simulink的三相静止无功发生器(SVG)仿真设计,重点研究不平衡电网条件下的无功补偿问题。系统采用级联H桥拓扑结构与三层控制策略,实现STATCOM的核心功能。文章深入阐述了SVG的工作原理、控制算法设计及Simulink仿真模型的构建过程,提供了完整的说明报告与参考资料,便于读者理解与复现技术细节。此外,文档还列举了多个电力系统相关仿真项目,涵盖微电网、储能、故障检测等领域,展现了其在电力电子与电力系统自动化中的广泛应用前景。; 适合人群:具备电力电子、电力系统基础知识的高校学生、研究生及从事无功补偿、柔性交流输电系统(FACTS)等相关领域的工程技术人员。; 使用场景及目标:① 学习和掌握SVG在不平衡电网中的无功补偿机制与先进控制策略;② 在Simulink平台上搭建并调试级联H桥STATCOM的仿真模型;③ 为科研课题、毕业设计或实际工程项目提供可复现的技术方案与理论支撑。; 阅读建议:建议读者结合所提供的仿真模型与详细说明报告,按照文档结构循序渐进地学习,重点关注三层控制策略的设计逻辑与仿真参数的合理配置,同时可参考文中提及的相关文献与其他项目案例,深化对电力系统无功补偿技术体系的整体理解。

梦想科研社_研学
评论 2
收藏 已收藏
分享
返回顶部
shen23132379
Java EE 67,535 成员 225,843 内容