AudRecordLib
Public Member Functions | Static Public Member Functions | Package Functions | Package Attributes
AudRecordCLI::Recorder Class Reference

#include <AudRecordWrap.h>

List of all members.

Public Member Functions

void Record (Endpoint^ client)
void ChangeCodec (CodecConfig^ config)
AudPausedState TogglePause ()
AudPausedState QueryPause ()
void Stop ()
IntPtr AddFileTarget (String^ fileName)
IntPtr AddNetworkBroadcastTarget (DWORD% port, DWORD maxConnections, bool wantUrl, String^ %url)
IntPtr AddCustomTarget (ITargetSink^ pTarget)
void RemoveTarget (IntPtr pCookie)
AudRecordStatsGetStatistics ()

Static Public Member Functions

static RecorderCreate (CodecConfig^ initialConfig)

Package Functions

 Recorder (IAudRecord *pRecord)

Package Attributes

IAudRecordpNativeRecord
Object^ wrapObj

Detailed Description

The main wrapper around the IAudRecord interface


Constructor & Destructor Documentation

AudRecordCLI::Recorder::Recorder ( IAudRecord pRecord) [package]

Construct a Recorder which controls a specified underlying IAudRecord interface

Parameters:
pRecordThe interface to wrap

Member Function Documentation

IntPtr AudRecordCLI::Recorder::AddCustomTarget ( ITargetSink pTarget)

Adds a target that can manipulate the output audio how it wants, can be called at any time

Exceptions:
ArgumentNullExceptionif pTarget is null, or an AudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
pTargetThe object that receives the audio data and related notifications
Returns:
An opaque value used to remove the target
IntPtr AudRecordCLI::Recorder::AddFileTarget ( String^  fileName)

Adds a file to the recording process, can be called at any time

Parameters:
fileNameThe file to create
Exceptions:
ArgumentNullExceptionif fileName is null, or an AudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Returns:
An opaque value that can be used to remove the stream at a later time
IntPtr AudRecordCLI::Recorder::AddNetworkBroadcastTarget ( DWORD%  port,
DWORD  maxConnections,
bool  wantUrl,
String^ %  url 
)

Opens a network port and streams the recording through it, can be called at any time

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
portThe port to use, or 0 for a randomly selected one
maxConnectionsThe number of people who can connect to the stream. 5 is the default
wantUrlWhether to return the url to connect to in the url parameter
[out]urlThe connection url, only returned if wantUrl is true
Returns:
An opaque value used to remove the target
void AudRecordCLI::Recorder::ChangeCodec ( CodecConfig theConfig)

Changes the stream codec or configuration

Turns a managed CodecConfig into a native CodecConfiguration struct and calls the native ChangeCodec function

Exceptions:
ArgumentNullExceptionif theEndpoint is null, or an AudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
theConfigThe new codec and configuration
Recorder AudRecordCLI::Recorder::Create ( CodecConfig initialConfig) [static]

Creates a new recorder initialised with a specific configuration

Exceptions:
ArgumentNullExceptionif initialConfig is null, or an AudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
initialConfigCodec and bitrate to start the recorder off with
Returns:
The new wrapper object
AudRecordStats AudRecordCLI::Recorder::GetStatistics ( )

Returns current statistics from the recording process

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Returns:
The structure containing the statistics
AudPausedState AudRecordCLI::Recorder::QueryPause ( )

Queries the current state of the stream

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Returns:
The state of the stream after the toggle operation
void AudRecordCLI::Recorder::Record ( Endpoint theEndpoint)

Starts the recording process.

Reconstructs a native Endpoint struct from theEndpoint and passes that to the native Record function

Exceptions:
ArgumentNullExceptionif theEndpoint is null, or an AudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
theEndpointThe mixer to record from
void AudRecordCLI::Recorder::RemoveTarget ( IntPtr  pCookie)

Removes a target from the recording process, can be called at any time

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Parameters:
pCookieThe value returned by AddCustomTarget(), AddNetworkBroadcastTarget() or AddFileTarget()
void AudRecordCLI::Recorder::Stop ( )

Completely stops the recording process. Record() must be called to restart it

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
AudPausedState AudRecordCLI::Recorder::TogglePause ( )

Pauses/Resumes the recording stream

Exceptions:
AnAudRecordException, OutOfMemoryException or ArgumentException based on the return on the native function
Returns:
The state of the stream after the toggle operation

Member Data Documentation

The native interface that is wrapped

Object ^ AudRecordCLI::Recorder::wrapObj [package]

A managed wrapper resulting from Marshal::GetObjectFromIUnknown()


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Defines