这是我在 J2SE 中使用 Gstreamer 的 Native java 包装器编写的代码。但可惜它在 Web 浏览器中不起作用,我对现在能做的事情感到非常沮丧,我别无选择来结束这个项目。
是否无法通过 Java Applet for Gstreamer 使用音频/视频或构建 CD/DVD 质量的音频? (这不是针对万维网,仅针对点对点或点对 10 个点之间的网络浏览器)。
例如:作为 j2SE 的工作示例,但相同的代码无法与浏览器中的 java applet 一起使用。
package audio;
/* Audio, Global class */
import org.gstreamer.*;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
// Used via applet:
// <applet code="sipphone.MainApplet" width=600 height=600 archive="Audio.jar" >
public class MyGst
{
public static void runit()
{
Gst.init();
Pipeline pipe = new Pipeline("MyGst");
Element src = ElementFactory.make("autoaudiosrc", "Source");
Element sink = ElementFactory.make("autoaudiosink", "Destination");
pipe.addMany(src, sink);
src.link(sink);
pipe.setState(State.PLAYING);
Gst.main();
pipe.setState(State.NULL);
}
}
注意:跟进:在任何 Web 浏览器中,当您有 java.lang.String 时,这种 native 方式都可以工作。所以JAVA小程序可以在任何浏览器中运行。像我一样遇到这个问题的人,不要感到困惑。
最佳答案
如果它本身可以工作,那么总是可以选择创建签名的小程序。这将允许您拥有完整的 native 访问权限,我猜这就是 gstreamer 所需要的(它可能在运行时加载 gstreamer native 库)。
这对用户来说会有点烦人,因为他们必须授予它运行权限,而对您来说则更烦人,因为您必须签署小程序,但它应该可以工作。
另一个选项是查看是否有任何纯 Java 音频流库可以用来代替 gstreamer。我不能这么说,因为我从来没有做过比播放音频文件更复杂的音频事情,但它们可能存在。
关于java - 无法用java小程序制作音频视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4465345/