Class AudioPlayback

Definition

Namespace:
Tizen.Multimedia
Assembly:
Tizen.Multimedia.AudioIO.dll

Provides the ability to directly manage the system audio output devices and play the PCM (pulse-code modulation) data.

C#
Copy
public class AudioPlayback : IDisposable
Inheritance
object
AudioPlayback
Implements
System.IDisposable

Constructors

View Source

AudioPlayback(int, AudioChannel, AudioSampleType)

Initializes a new instance of the AudioPlayback class with the specified sample rate, channel, and sample type.

Declaration
C#
Copy
public AudioPlayback(int sampleRate, AudioChannel channel, AudioSampleType sampleType)
Parameters
Type Name Description
int sampleRate

The audio sample rate (8000 ~ 192000Hz).

AudioChannel channel

The audio channel type.

AudioSampleType sampleType

The audio sample type.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

sampleRate is less than MinSampleRate.
-or-
sampleRate is greater than MaxSampleRate.

System.ArgumentException

channel is invalid.
-or-
sampleType is invalid.

Fields

View Source

MaxSampleRate

Specifies the maximum value allowed for the audio capture, in Hertz (Hz).

Declaration
C#
Copy
public static readonly int MaxSampleRate
Field Value
Type Description
int
See Also
View Source

MinSampleRate

Specifies the minimum value allowed for the audio capture, in Hertz (Hz).

Declaration
C#
Copy
public static readonly int MinSampleRate
Field Value
Type Description
int
See Also

Properties

View Source

Channel

Gets the channel type of the audio output data stream.

Declaration
C#
Copy
public AudioChannel Channel { get; }
Property Value
Type Description
AudioChannel
View Source

SampleRate

Gets the sample rate of the audio output data stream, in Hertz (Hz).

Declaration
C#
Copy
public int SampleRate { get; }
Property Value
Type Description
int
View Source

SampleType

Gets the sample type of the audio output data stream.

Declaration
C#
Copy
public AudioSampleType SampleType { get; }
Property Value
Type Description
AudioSampleType
View Source

StreamType

Gets the sound type supported by the audio output device.

Declaration
C#
Copy
public AudioStreamType StreamType { get; }
Property Value
Type Description
AudioStreamType
Exceptions
Type Condition
System.ObjectDisposedException

The AudioPlayback has already been disposed of.

Methods

View Source

ApplyStreamPolicy(AudioStreamPolicy)

Applies the sound stream information to the AudioPlayback.

Declaration
C#
Copy
public void ApplyStreamPolicy(AudioStreamPolicy streamPolicy)
Parameters
Type Name Description
AudioStreamPolicy streamPolicy

The AudioStreamPolicy to apply for the AudioPlayback.

Exceptions
Type Condition
System.ArgumentNullException

streamPolicy is null.

System.ObjectDisposedException

streamPolicy has already been disposed of.
-or-
The AudioPlayback has already been disposed of.

System.NotSupportedException

streamPolicy is not supported.

System.ArgumentException

Not able to retrieve information from streamPolicy.

View Source

Dispose()

Releases all resources used by the AudioPlayback object.

Declaration
C#
Copy
public void Dispose()
View Source

Dispose(bool)

Releases the resources used by the AudioPlayback object.

Declaration
C#
Copy
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing

true to release both managed and unmanaged resources; false to release only unmanaged resources.

View Source

Drain()

Drains the buffered audio data from the output stream. It blocks the calling thread until the drain of the stream buffer is complete, for example, at the end of playback.

Declaration
C#
Copy
public void Drain()
Exceptions
Type Condition
System.ObjectDisposedException

The AudioPlayback has already been disposed of.

System.InvalidOperationException

The current state is Idle.

View Source

~AudioPlayback()

Finalizes an instance of the AudioPlayback class.

Declaration
C#
Copy
protected ~AudioPlayback()
View Source

Flush()

Flushes and discards the buffered audio data from the output stream.

Declaration
C#
Copy
public void Flush()
Exceptions
Type Condition
System.InvalidOperationException

The current state is Idle.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

View Source

GetBufferSize()

Gets the size allocated for the audio output buffer.

Declaration
C#
Copy
public int GetBufferSize()
Returns
Type Description
int
Exceptions
Type Condition
System.ObjectDisposedException

The AudioPlayback has already been disposed of.

View Source

Pause()

Pauses feeding of the audio data to the device.

Declaration
C#
Copy
public void Pause()
Remarks

It has no effect if the current state is Paused.

Exceptions
Type Condition
System.InvalidOperationException

The current state is Idle.
-or-
The method is called in the BufferAvailable event handler.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

See Also
View Source

Prepare()

Prepares the AudioPlayback.

Declaration
C#
Copy
public void Prepare()
Remarks

This must be called before Write(byte[]).

Exceptions
Type Condition
System.InvalidOperationException

Operation failed due to an internal error.
-or-
The current state is not Idle.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

See Also
View Source

Resume()

Resumes feeding of the audio data to the device.

Declaration
C#
Copy
public void Resume()
Remarks

It has no effect if the current state is Running.

Exceptions
Type Condition
System.InvalidOperationException

The current state is Idle.
-or-
The method is called in an event handler.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

See Also
View Source

Unprepare()

Unprepares the AudioPlayback.

Declaration
C#
Copy
public void Unprepare()
Exceptions
Type Condition
System.InvalidOperationException

Operation failed due to an internal error.
-or-
The current state is Idle.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

See Also
View Source

Write(byte[])

Starts writing the audio data to the device.

Declaration
C#
Copy
public int Write(byte[] buffer)
Parameters
Type Name Description
byte[] buffer

The buffer to write.

Returns
Type Description
int

The written size.

Exceptions
Type Condition
System.ArgumentNullException

buffer is null.

System.ArgumentException

The length of buffer is zero.

System.InvalidOperationException

The current state is not Running.

System.ObjectDisposedException

The AudioPlayback has already been disposed of.

Events

View Source

BufferAvailable

Occurs when the audio playback data can be written.

Declaration
C#
Copy
public event EventHandler<AudioPlaybackBufferAvailableEventArgs> BufferAvailable
Event Type
Type Description
System.EventHandler<TEventArgs><AudioPlaybackBufferAvailableEventArgs>
See Also
View Source

StateChanged

Occurs when the state of the AudioPlayback is changed.

Declaration
C#
Copy
public event EventHandler<AudioIOStateChangedEventArgs> StateChanged
Event Type
Type Description
System.EventHandler<TEventArgs><AudioIOStateChangedEventArgs>

Implements

System.IDisposable