Skip to content

Sound/AWT/general compatibility on >9 versioned JREs #7

@EvelynSubarrow

Description

@EvelynSubarrow

Will shortly be forcing the audio device to null when sun audio is absent, but sun audio is absent on JREs above 9 I believe. There's a javax API which seems similar enough in capability that it might be possible to convert to that instead. It's been largely present since Java 1.3, so compatibility shouldn't be a worry.

There's also been some breaking changes to AWT. It's not clear how far reaching that is, it may be possible to adapt and make it compatible.

Exception in thread "main" java.lang.NoClassDefFoundError: sun/audio/AudioDataStream
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.templar.games.stormrunner.templarutil.audio.SunAudioDevice.getSound(SunAudioDevice.java:91)
	at com.templar.games.stormrunner.templarutil.audio.AudioManager.getSound(AudioManager.java:52)
	at com.templar.games.stormrunner.templarutil.audio.AudioManager.<init>(AudioManager.java:36)
	at com.templar.games.stormrunner.GameApplet.init(GameApplet.java:207)
	at moe.evelyn.games.stormrunner.Main.main(Main.java:47)
Caused by: java.lang.ClassNotFoundException: sun.audio.AudioDataStream
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 14 more

AWT:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: 'java.awt.peer.ComponentPeer java.awt.Component.getPeer()'
	at com.templar.games.stormrunner.templarutil.gui.SimpleContainer.paint(SimpleContainer.java:190)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at com.templar.games.stormrunner.GameApplet.paint(GameApplet.java:682)
	at java.desktop/sun.awt.RepaintArea.paintComponent(Unknown Source)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(Unknown Source)
	at java.desktop/sun.awt.RepaintArea.paint(Unknown Source)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions