Package com.jme3.audio
Class AudioBuffer
java.lang.Object
com.jme3.util.NativeObject
com.jme3.audio.AudioData
com.jme3.audio.AudioBuffer
- All Implemented Interfaces:
Cloneable
An
AudioBuffers are useful for short sounds, like effects, etc.
AudioBuffer
is an implementation of AudioData
where the audio is buffered (stored in memory). All parts of it
are accessible at any time. AudioBuffers are useful for short sounds, like effects, etc.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.jme3.audio.AudioData
AudioData.DataType
-
Field Summary
Fields inherited from class com.jme3.audio.AudioData
bitsPerSample, channels, sampleRate
Fields inherited from class com.jme3.util.NativeObject
handleRef, id, INVALID_ID, objectManager, OBJTYPE_AUDIOBUFFER, OBJTYPE_AUDIOSTREAM, OBJTYPE_BO, OBJTYPE_FILTER, OBJTYPE_FRAMEBUFFER, OBJTYPE_SHADER, OBJTYPE_SHADERSOURCE, OBJTYPE_TEXTURE, OBJTYPE_VERTEXBUFFER, updateNeeded
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCreates a shallow clone of this GL Object.protected void
Deletes any associated nativebuffers
.void
deleteObject
(Object rendererObject) Deletes the GL object from the GPU when it is no longer used.getData()
float
long
Returns a unique ID for this NativeObject.void
Called when the GL context is restarted to reset all IDs.toString()
void
updateData
(ByteBuffer data) Update the data in the buffer with new data.Methods inherited from class com.jme3.audio.AudioData
getBitsPerSample, getChannels, getSampleRate, setupFormat
Methods inherited from class com.jme3.util.NativeObject
clearUpdateNeeded, clone, dispose, getId, getWeakRef, isUpdateNeeded, setId, setUpdateNeeded
-
Field Details
-
audioData
The audio data buffer. Should be direct and native ordered.
-
-
Constructor Details
-
AudioBuffer
public AudioBuffer() -
AudioBuffer
protected AudioBuffer(int id)
-
-
Method Details
-
getDataType
- Specified by:
getDataType
in classAudioData
- Returns:
- The data type, either
Buffer
orStream
.
-
getDuration
public float getDuration()- Specified by:
getDuration
in classAudioData
- Returns:
- The duration of the audio in seconds. It is expected that audio is uncompressed.
-
toString
- Overrides:
toString
in classNativeObject
-
updateData
Update the data in the buffer with new data.- Parameters:
data
- the audio data provided (not null, direct, alias created)- Throws:
IllegalArgumentException
- if the provided buffer is not a direct buffer
-
getData
- Returns:
- The buffered audio data.
-
resetObject
public void resetObject()Description copied from class:NativeObject
Called when the GL context is restarted to reset all IDs. Prevents "white textures" on display restart.- Specified by:
resetObject
in classNativeObject
-
deleteNativeBuffers
protected void deleteNativeBuffers()Description copied from class:NativeObject
Deletes any associated nativebuffers
. This is necessary because it is unlikely that native buffers will be garbage collected naturally (due to how GC works), therefore the collection must be handled manually. Only implementations that manage native buffers need to override this method. Note that the behavior that occurs when a deleted native buffer is used is not defined, therefore this method is protected- Overrides:
deleteNativeBuffers
in classNativeObject
-
deleteObject
Description copied from class:NativeObject
Deletes the GL object from the GPU when it is no longer used. Called automatically by the GL object manager.- Specified by:
deleteObject
in classNativeObject
- Parameters:
rendererObject
- The renderer to be used to delete the object
-
createDestructableClone
Description copied from class:NativeObject
Creates a shallow clone of this GL Object. The deleteObject method should be functional for this object.- Specified by:
createDestructableClone
in classNativeObject
- Returns:
- a new instance
-
getUniqueId
public long getUniqueId()Description copied from class:NativeObject
Returns a unique ID for this NativeObject. No other NativeObject shall have the same ID.- Specified by:
getUniqueId
in classNativeObject
- Returns:
- unique ID for this NativeObject.
-