gpt4 book ai didi

java - 浏览器支持 Java Applet 的线程吗?

转载 作者:行者123 更新时间:2023-12-02 06:41:45 25 4
gpt4 key购买 nike

我有一个通过网页录制声音的 Java Applet。保存在磁盘上的操作是由一个内部类(一个线程)完成的:

class saveThread extends Thread {

public void run() {
AudioFileFormat.Type fileType = AudioFileFormat.Type.WAVE;
FileDialog fd = new FileDialog(new Frame(), "Save as WAVE", FileDialog.SAVE);
fd.setFile("*.wav");
fd.setVisible(true);
String name = fd.getDirectory() + fd.getFile();
File file = new File(name);

try {
byte audio[] = out.toByteArray();
InputStream input = new ByteArrayInputStream(audio);
final AudioFormat format = getFormat();
final AudioInputStream ais = new AudioInputStream(input, format, audio.length / format.getFrameSize());
AudioSystem.write(ais, fileType, file);
} catch (Exception e) {
e.printStackTrace();
}
}
}//End of inner class saveThread

问题是当我在网页中执行小程序时,保存在磁盘上的操作不起作用。但是当我直接执行小程序时,它就像一个魅力,这就是为什么我认为问题可能是浏览器不支持小程序的线程。

最佳答案

JAVA Applet确实支持多线程。但是,请检查您的小程序是否处于特权状态或沙箱状态。来自 java applet documentation page

It is recommended that you launch your applet using Java Network Launch Protocol (JNLP) to leverage expanded capabilities and improve user experience. See Deploying an Applet for step by step instructions on applet deployment.

当使用 JNLP 启动时,沙箱小程序还可以执行以下操作:

  1. 他们可以在客户端上打开、读取和保存文件。
  2. 他们可以访问共享的系统范围剪贴板。
  3. 他们可以访问打印功能。
  4. 他们可以在客户端存储数据,决定小程序应该如何下载和缓存等等。

关于java - 浏览器支持 Java Applet 的线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19081310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com