diff --git a/engine/src/core/com/jme3/audio/AudioNode.java b/engine/src/core/com/jme3/audio/AudioNode.java
index 708e5c388..3f53614f9 100644
--- a/engine/src/core/com/jme3/audio/AudioNode.java
+++ b/engine/src/core/com/jme3/audio/AudioNode.java
@@ -104,6 +104,9 @@ public class AudioNode extends Node {
Stopped,
}
+ /**
+ * Serialization only. Do not use.
+ */
public AudioNode() {
}
@@ -139,12 +142,29 @@ public class AudioNode extends Node {
* @param name The filename of the audio file
* @param stream If true, the audio will be streamed gradually from disk,
* otherwise, it will be buffered.
+ * @param streamCache If stream is also true, then this specifies if
+ * the stream cache is used. When enabled, the audio stream will
+ * be read entirely but not decoded, allowing features such as
+ * seeking, looping and determining duration.
*/
- public AudioNode(AudioRenderer audioRenderer, AssetManager assetManager, String name, boolean stream) {
+ public AudioNode(AudioRenderer audioRenderer, AssetManager assetManager, String name, boolean stream, boolean streamCache) {
this(audioRenderer);
- this.key = new AudioKey(name, stream);
+ this.key = new AudioKey(name, stream, streamCache);
this.data = (AudioData) assetManager.loadAsset(key);
}
+
+ /**
+ * Creates a new AudioNode
with the given audio file.
+ *
+ * @param audioRenderer The audio renderer to use for playing. Cannot be null.
+ * @param assetManager The asset manager to use to load the audio file
+ * @param name The filename of the audio file
+ * @param stream If true, the audio will be streamed gradually from disk,
+ * otherwise, it will be buffered.
+ */
+ public AudioNode(AudioRenderer audioRenderer, AssetManager assetManager, String name, boolean stream) {
+ this(audioRenderer, assetManager, name, stream, false);
+ }
/**
* Creates a new AudioNode
with the given audio file.