自签名录音机Applet中的安全例外

时间:2011-10-10 06:52:21

标签: applet javasound signed-applet

我已经创建了一个用于录制声音的小程序。当我尝试打开数据线时会抛出异常。

TargetDataLine.open()

java.security.AccessControlException:拒绝访问(javax.sound.sampled.AudioPermission记录)

我的applet是自签名的,所有其他jar文件都是自签名的。

以前我使用不同的线程来启动TargetDataLine并关闭该行。后来而不是创建另一个线程,我切换到Executorservice。它适用于线程,但在ExecutorService的情况下抛出异常。

1 个答案:

答案 0 :(得分:2)

由于执行程序服务在从javascript调用时启动新线程,因此线程的安全级别设置为javascript线程的安全级别。

所以使用AccessControl.doPrivilaged有助于解决问题。Explained here how to do it.