object AudioFile extends ReaderFactory with AudioFilePlatform

The AudioFile allows reading and writing of sound files. It can operate both on a RandomAccessFile created from a File instance, or on an kind of InputStream (not every codec will support this though, and functionality might be limited, for example seeking is not possible with a plain InputStream).

The codecs are registered with AudioFileType. The codecs that come with AudioFile are found in the impl package.

Reading and writing data requires a user-buffer which holds de-interleaved floating point data, that is a two dimensional Array which holds Double data. A type alias Frames is provided for this, and two helper methods buffer: one static to construct an arbitrary user-buffer, one in class AudioFile which creates a buffer with the appropriate channel number.

To do

the copyTo method uses a user-buffer. it should check for the possibility to directly transfer data if input and output are compatible.

See also

AudioFileType

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AudioFile
  2. AudioFilePlatform
  3. ReaderFactory
  4. ReaderFactoryPlatform
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Frames = Array[Array[Double]]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val KEY_DIRECT_MEMORY: String

    System property key.

    System property key. The boolean property can be set to true or false. It will only be read once, the first time a buffer is allocated. The default is false. When true, ByteBuffer.allocateDirect is used instead of allocate, possibly using faster direct memory.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def buffer(numChannels: Int, bufFrames: Int = 8192): Frames
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def identify(dis: DataInputStream): Option[CanIdentify]
    Annotations
    @throws(classOf[IOException])
  13. def identify(path: String): Option[AudioFileType]
    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
  14. def identify(f: File): Option[CanIdentify]

    Determines the type of audio file.

    Determines the type of audio file.

    f

    the pathname of the file

    returns

    the type code as defined in AudioFileInfo, e.g. TYPE_AIFF. Returns TYPE_UNKNOWN if the file could not be identified.

    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
    Exceptions thrown

    java.io.IOException if the file could not be reader

  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. val log: Logger
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def openRead(is: InputStream): AudioFile
    Definition Classes
    AudioFileReaderFactory
    Annotations
    @throws(classOf[IOException])
  21. def openRead(f: File): AudioFile

    Opens an audio file for reading.

    Opens an audio file for reading.

    f

    the path name of the file

    returns

    a new AudioFile object whose header is already parsed and can be obtained through the spec method.

    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
    Exceptions thrown

    java.io.IOException if the file was not found, could not be reader or has an unknown or unsupported format

  22. final def openRead(path: String): AudioFile
    Definition Classes
    ReaderFactoryPlatform
    Annotations
    @throws(classOf[IOException])
  23. def openReadAsync(ch: AsyncReadableByteChannel)(implicit ec: ExecutionContext): Future[AsyncAudioFile]
    Annotations
    @throws(classOf[IOException])
  24. def openReadAsync(uri: URI)(implicit executionContext: ExecutionContext): Future[AsyncAudioFile]

    Opens an audio file for asynchronous reading.

    Opens an audio file for asynchronous reading.

    uri

    the path name of the file

    returns

    a future AsyncAudioFile object whose header is already parsed when the future completes, and that can be obtained through the spec method.

    Annotations
    @throws(classOf[IOException])
    Exceptions thrown

    java.io.IOException if the file was not found, could not be reader or has an unknown or unsupported format

  25. def openWrite(os: OutputStream, spec: AudioFileSpec): AudioFile
    Annotations
    @throws(classOf[IOException])
  26. def openWrite(path: String, spec: AudioFileSpec): AudioFile
    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
  27. def openWrite(f: File, spec: AudioFileSpec): AudioFile

    Opens an audio file for reading/writing.

    Opens an audio file for reading/writing. The pathname is determined by the file field of the provided AudioFileInfo. If a file denoted by this path already exists, it will be deleted before opening.

    Note that the initial audio file header is written immediately. Special tags for the header thus need to be set in the AudioFileInfo before calling this method, including markers and regions. It is not possible to writer markers and regions after the file has been opened (since the header size has to be constant).

    f

    the path name of the file.

    spec

    format and resolution of the new audio file. the header is immediately written to the hard-disc

    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
    Exceptions thrown

    java.io.IOException if the file could not be created or the format is unsupported

  28. def openWriteAsync(ch: AsyncWritableByteChannel, spec: AudioFileSpec)(implicit ec: ExecutionContext): Future[AsyncAudioFile]
    Annotations
    @throws(classOf[IOException])
  29. def openWriteAsync(uri: URI, spec: AudioFileSpec)(implicit executionContext: ExecutionContext): Future[AsyncAudioFile]
    Annotations
    @throws(classOf[IOException])
  30. def readSpec(dis: DataInputStream): AudioFileSpec

    Note that this method advances in the provided input stream, its previous position is not reset.

    Note that this method advances in the provided input stream, its previous position is not reset.

    Annotations
    @throws(classOf[IOException])
  31. def readSpec(path: String): AudioFileSpec
    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
  32. def readSpec(f: File): AudioFileSpec
    Definition Classes
    AudioFilePlatform
    Annotations
    @throws(classOf[IOException])
  33. def readSpecAsync(uri: URI)(implicit executionContext: ExecutionContext): Future[AudioFileSpec]
    Annotations
    @throws(classOf[IOException])
  34. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  35. def toString(): String
    Definition Classes
    AnyRef → Any
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AudioFilePlatform

Inherited from ReaderFactory

Inherited from ReaderFactoryPlatform

Inherited from AnyRef

Inherited from Any

Ungrouped