這是我在J2SE中用Gstreamer的Native java包裝器編寫的代碼。但是,它在網絡瀏覽器中不起作用,我非常不高興我現在可以做什麼,我沒有別的辦法可以結束這個項目。不可能用java applet做音頻視頻嗎?
是不是可以使用Gartreamer的Java Applet進行音頻/視頻,或者製作CD/DVD音質的音頻? (這不是針對萬維網的,只有對等網絡瀏覽器或對等網絡瀏覽器)。
例如:工作示例爲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。所以JAVA小程序可以在任何瀏覽器中運行。那些和我一樣的人,面對這個問題,不要感到困惑。
不幸的是,我在尋找和獲取信息,幾乎都提到,Java小程序不能擁有從Web瀏覽器的本地訪問,並且這可能是不可能實現的。如果我與其他音頻庫或框架一起使用,Audio的質量將永遠不會像Gstreamer那樣好。整個WEB瀏覽器世界都受到嚴格限制,並且與創造性項目無關。 – YumYumYum 2010-12-16 21:42:55
Java applet可以通過Web瀏覽器進行*完全*本地訪問*如果它們已被簽名*。在我們開發工具之前,我們有一個可以下載,安裝並在運行時加載DLL的簽名小程序。已簽名的applet有權這樣做,並且本機應用程序可以執行其他任何操作。這是簽名applet的目的,而Java applet可以做到這一點,Flash不能做到這一點。 – Herms 2010-12-16 22:00:53