org.apache.poi.hslf.record
Class Sound

java.lang.Object
  extended by org.apache.poi.hslf.record.Record
      extended by org.apache.poi.hslf.record.RecordContainer
          extended by org.apache.poi.hslf.record.Sound

public final class Sound
extends RecordContainer

A container holding information about a sound. It contains:

  • 1. CString (4026), Instance 0: Name of sound (e.g. "crash")
  • 2. CString (4026), Instance 1: Type of sound (e.g. ".wav")
  • 3. CString (4026), Instance 2: Reference id of sound in sound collection
  • 4. CString (4026), Instance 3, optional: Built-in id of sound, for sounds we ship. This is the id that?s in the reg file.
  • 5. SoundData (2023), optional

    Author:
    Yegor Kozlov

    Field Summary
     
    Fields inherited from class org.apache.poi.hslf.record.RecordContainer
    _children
     
    Fields inherited from class org.apache.poi.hslf.record.Record
    logger
     
    Constructor Summary
    protected Sound(byte[] source, int start, int len)
              Set things up, and find our more interesting children
     
    Method Summary
     long getRecordType()
              Returns the type (held as a little endian in bytes 3 and 4) that this class handles.
     byte[] getSoundData()
              The sound data
     java.lang.String getSoundName()
              Name of the sound (e.g.
     java.lang.String getSoundType()
              Type of the sound (e.g.
     void writeOut(java.io.OutputStream out)
              Have the contents printer out into an OutputStream, used when writing a file back out to disk.
     
    Methods inherited from class org.apache.poi.hslf.record.RecordContainer
    addChildAfter, addChildBefore, appendChildRecord, findFirstOfType, getChildRecords, handleParentAwareRecords, isAnAtom, moveChildBefore, moveChildrenAfter, moveChildrenBefore, removeChild, setChildRecord, writeOut
     
    Methods inherited from class org.apache.poi.hslf.record.Record
    buildRecordAtOffset, createRecordForType, findChildRecords, writeLittleEndian, writeLittleEndian
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    Sound

    protected Sound(byte[] source,
                    int start,
                    int len)
    Set things up, and find our more interesting children

    Parameters:
    source - the source data as a byte array.
    start - the start offset into the byte array.
    len - the length of the slice in the byte array.
    Method Detail

    getRecordType

    public long getRecordType()
    Returns the type (held as a little endian in bytes 3 and 4) that this class handles.

    Specified by:
    getRecordType in class Record
    Returns:
    the record type.

    writeOut

    public void writeOut(java.io.OutputStream out)
                  throws java.io.IOException
    Have the contents printer out into an OutputStream, used when writing a file back out to disk.

    Specified by:
    writeOut in class Record
    Parameters:
    out - the output stream.
    Throws:
    java.io.IOException - if there was an error writing to the stream.

    getSoundName

    public java.lang.String getSoundName()
    Name of the sound (e.g. "crash")

    Returns:
    name of the sound

    getSoundType

    public java.lang.String getSoundType()
    Type of the sound (e.g. ".wav")

    Returns:
    type of the sound

    getSoundData

    public byte[] getSoundData()
    The sound data

    Returns:
    the sound data.


    Copyright 2012 The Apache Software Foundation or its licensors, as applicable.