1

我创建了一个用于录制声音的小程序。当我尝试打开数据线时,它会引发异常。

TargetDataLine.open()

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

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

以前我使用不同的线程来启动TargetDataLine和关闭该行。后记而不是创建另一个线程,我切换到Executorservice. 它适用于线程,但使用ExecutorService.

4

1 回答 1

2

由于执行器服务在有来自 javascript 的调用时会启动一个新线程,因此该线程的安全级别设置为 javascript 线程的安全级别。

因此使用 AccessControl.doPrivilaged 有助于解决问题。这里解释了如何做到这一点。

于 2011-10-12T07:45:14.737 回答