Module Ao

OCaml interface to the ao library.

type t

Device type.

type driver_kind_t = [
| `LIVE
| `FILE
| `UNKNOWN
]

Which kind of driver?

type byte_format_t = [
| `LITTLE_ENDIAN
| `BIG_ENDIAN
| `NATIVE
| `UNKNOWN
]

Byte format specifier.

type driver_t = private {
id : int;
kind : driver_kind_t;
short_name : string;
name : string;
comment : string;
author : string;
priority : int;
preferred_byte_format : byte_format_t;
options : string list;
}

Driver type (private).

exception Closed

Raised when trying to play or close * a closed device.

exception Invalid_value

Raised when passing an invalid parameter's value.

val get_default_driver : unit -> driver_t

Get default driver

val drivers : driver_t list

drivers is a list of available drivers.

val open_live : ?⁠bits:int -> ?⁠rate:int -> ?⁠channels:int -> ?⁠channels_matrix:string -> ?⁠byte_format:byte_format_t -> ?⁠options:(string * string) list -> ?⁠driver:driver_t -> unit -> t

open_live. * The channels_matrix parameter is * used only if the module is compiled against * libao >= 1.0.

val open_file : ?⁠bits:int -> ?⁠rate:int -> ?⁠channels:int -> ?⁠channels_matrix:string -> ?⁠byte_format:byte_format_t -> ?⁠options:(string * string) list -> ?⁠driver:driver_t -> ?⁠overwrite:bool -> string -> t

open_file. * The channels_matrix parameter is * used only if the module is compiled against * libao >= 1.0.

val find_driver : string -> driver_t

find_driver name returns the driver associated with the given short * name.

val play : t -> string -> unit

play device buf plays the sequence of samples in buf.

val close : t -> unit

close device closes the given device.

val driver_kind : driver_t -> driver_kind_t
val driver_name : driver_t -> string
val driver_short_name : driver_t -> string
val driver_comment : driver_t -> string
val driver_author : driver_t -> string
val driver_priority : driver_t -> int
val driver_preferred_byte_format : driver_t -> byte_format_t
val driver_options : driver_t -> string list