Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // RecordingStartTimeout is the amount of time to wait for a recording to start // before declaring the recording to have failed. RecordingStartTimeout = 1 * time.Second // DefaultMaximumDuration is the default maximum amount of time a recording // should be allowed to continue before being terminated. DefaultMaximumDuration = 24 * time.Hour // DefaultMaximumSilence is the default maximum amount of time silence may be // detected before terminating the recording. DefaultMaximumSilence = 5 * time.Minute // ShutdownGracePeriod is the amount of time to allow a Stop transaction to // complete before shutting down the session anyway. ShutdownGracePeriod = 3 * time.Second )
var Logger = log15.New()
Logger defaults to a discard handler (null output). If you wish to enable logging, you can set your own handler like so:
ari.Logger.SetHandler(log15.StderrHandler)
Functions ¶
This section is empty.
Types ¶
type OptionFunc ¶
type OptionFunc func(*Options)
OptionFunc is a function which applies changes to an Options set
func Beep ¶
func Beep() OptionFunc
Beep indicates that a beep should be played to signal the start of recording
func Format ¶
func Format(format string) OptionFunc
Format configures the file format to be used to store the recording
func IfExists ¶
func IfExists(action string) OptionFunc
IfExists configures the behaviour of the recording if the file to be recorded already exists.
Valid options are: "fail" (default), "overwrite", and "append".
func MaxDuration ¶
func MaxDuration(max time.Duration) OptionFunc
MaxDuration sets the maximum duration to allow for the recording. After this amount of time, the recording will be automatically Finished.
A setting of 0 disables the limit.
func MaxSilence ¶
func MaxSilence(max time.Duration) OptionFunc
MaxSilence sets the amount of time a block of silence is allowed to become before the recording should be declared Finished.
A setting of 0 disables silence detection.
func Name ¶
func Name(name string) OptionFunc
Name configures the recording to use the provided name
func TerminateOn ¶
func TerminateOn(dtmf string) OptionFunc
TerminateOn configures the DTMF which, if received, will terminate the recording.
Valid values are "none" (default), "any", "*", and "#".
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options describes a set of recording options for a recording Session
func (*Options) Apply ¶
func (o *Options) Apply(opts ...OptionFunc)
Apply applies a set of options for the recording Session
type Result ¶
type Result struct { // Data holds the final data for the LiveRecording, if it was successful Data *ari.LiveRecordingData // DTMF holds any DTMF digits which are received during the recording session DTMF string // Duration indicates the duration of the recording Duration time.Duration // Error holds any error encountered during the recording session Error error // Hangup indicates that the Recorder disappeared (due to hangup or // destruction) during or after the recording. Hangup bool // contains filtered or unexported fields }
Result represents the result of a recording Session. It provides an interface to disposition the recording.
type Session ¶
type Session interface { // Done returns a channel which is closed when the session is complete Done() <-chan struct{} // Err waits for the session to complete, then returns any error encountered // during its execution Err() error // Key returns the ari.Key for the LiveRecording of this session, if one exists. Key() *ari.Key // Pause temporarily stops the recording session without ending the session Pause() error // Result waits for the session to complete, then returns the Result Result() (*Result, error) // Resume restarts a paused recording session Resume() error // Scrap terminates the recording session and throws away the recording. Scrap() error // Stop stops the recording session Stop() *Result }
Session desribes the interface to a generic recording session