Class AudioStreamPolicy
Definition
- Namespace:
- Tizen.Multimedia
- Assembly:
- Tizen.Multimedia.dll
Provides the ability to control the sound stream.
C#Copypublic class AudioStreamPolicy : IDisposable
- Inheritance
-
objectAudioStreamPolicy
- Implements
-
System.IDisposable
Constructors
AudioStreamPolicy(AudioStreamType)
Initializes a new instance of the AudioStreamPolicy class with AudioStreamType.
Declaration
C#Copypublic AudioStreamPolicy(AudioStreamType streamType)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioStreamType | streamType | The type of the sound stream for which the policy needs to be created. |
Remarks
To apply the stream policy according to this stream information, the AudioStreamPolicy should be passed to other APIs related to playback or recording. (For example., Player, WavPlayer , etc.)
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException |
|
Properties
Declaration
C#Copypublic bool FocusReacquisitionEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool | true if the auto focus reacquisition is enabled; otherwise, false. |
Remarks
If you don't want to reacquire the focus you've lost automatically, disable the focus reacquisition.
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic AudioStreamFocusState PlaybackFocusState { get; }
Property Value
| Type | Description |
|---|---|
| AudioStreamFocusState | The state of focus for playback. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic AudioDevice PreferredInputDevice { get; set; }
Property Value
| Type | Description |
|---|---|
| AudioDevice | The AudioDevice instance. |
Remarks
This property is to set a specific built-in device when the system has multiple devices of the same built-in device type. When there's only one device for a built-in device type in the system, nothing will happen even if this property is set successfully.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | A device is not for input. |
| System.InvalidOperationException | An internal error occurs. |
| AudioPolicyException | A device is not supported by this AudioStreamPolicy instance. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
See Also
Declaration
C#Copypublic AudioDevice PreferredOutputDevice { get; set; }
Property Value
| Type | Description |
|---|---|
| AudioDevice | The AudioDevice instance. |
Remarks
This property is to set a specific built-in device when the system has multiple devices of the same built-in device type. When there's only one device for a built-in device type in the system, nothing will happen even if this property is set successfully.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | A device is not for output. |
| System.InvalidOperationException | An internal error occurs. |
| AudioPolicyException | A device is not supported by this AudioStreamPolicy instance. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
See Also
Declaration
C#Copypublic AudioStreamFocusState RecordingFocusState { get; }
Property Value
| Type | Description |
|---|---|
| AudioStreamFocusState | The state of focus for recording. |
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic AudioVolumeType VolumeType { get; }
Property Value
| Type | Description |
|---|---|
| AudioVolumeType | The AudioVolumeType of the policy instance. |
Remarks
If the AudioStreamType of the current AudioStreamPolicy is Emergency, it returns None.
Exceptions
| Type | Condition |
|---|---|
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Methods
AcquireFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)
Acquires the stream focus.
Declaration
C#Copypublic void AcquireFocus(AudioStreamFocusOptions options, AudioStreamBehaviors behaviors, string extraInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioStreamFocusOptions | options | The focuses that you want to acquire. |
| AudioStreamBehaviors | behaviors | The requesting behaviors. |
| string | extraInfo | The extra information for this request. This value can be null. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException |
|
| System.ArgumentOutOfRangeException |
|
| System.InvalidOperationException | The focus has already been acquired. |
| AudioPolicyException | Called in FocusStateChanged raised by releasing focus. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic void AddDeviceForStreamRouting(AudioDevice device)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioDevice | device | The device to add. |
Remarks
The available AudioStreamType is Voip and MediaExternalOnly.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The device is not connected. |
| System.ArgumentNullException |
|
| AudioPolicyException | AudioStreamType of |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic void ApplyStreamRouting()
Remarks
If the stream has not been made yet, this will be applied when the stream starts to play.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | A device has not been set. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic void Dispose()
Declaration
C#Copyprotected 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. |
HasStreamOnDevice(AudioDevice)
Checks if any stream from the current AudioStreamPolicy is using the device.
Declaration
C#Copypublic bool HasStreamOnDevice(AudioDevice device)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioDevice | device | The device to be checked. |
Returns
| Type | Description |
|---|---|
| bool | true if any audio stream from the current AudioStreamPolicy is using the device; otherwise, false. |
Remarks
The AudioStreamPolicy can be applied to each playback or recording stream via other API set. (For example., Player, WavPlayer, AudioPlayback, AudioCapture, etc.) This method returns true only when the device is used for the stream which meets to the two conditions. One is that the current AudioStreamPolicy sets a audio route path to the device and the other is that the playback or recording stream from other API set should have already started to prepare or to play.(It depends on the API set.)
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException |
|
| System.InvalidOperationException | An internal error occurs. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
See Also
ReleaseFocus(AudioStreamFocusOptions, AudioStreamBehaviors, string)
Releases the acquired focus.
Declaration
C#Copypublic void ReleaseFocus(AudioStreamFocusOptions options, AudioStreamBehaviors behaviors, string extraInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioStreamFocusOptions | options | The focus mask that you want to release. |
| AudioStreamBehaviors | behaviors | The requesting behaviors. |
| string | extraInfo | The extra information for this request. This value can be null. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException |
|
| System.ArgumentOutOfRangeException |
|
| System.InvalidOperationException | The focus has not been acquired. |
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
Declaration
C#Copypublic void RemoveDeviceForStreamRouting(AudioDevice device)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioDevice | device | The device to remove. |
Remarks
The available AudioStreamType is Voip and MediaExternalOnly.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | An internal error occurs. |
| System.ArgumentNullException |
|
| System.ObjectDisposedException | The AudioStreamPolicy has already been disposed of. |
See Also
Events
FocusStateChanged
Occurs when the state of focus that belongs to the current AudioStreamPolicy is changed.
Declaration
C#Copypublic event EventHandler<AudioStreamPolicyFocusStateChangedEventArgs> FocusStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><AudioStreamPolicyFocusStateChangedEventArgs> |
Remarks
The event is raised in the internal thread.
StreamFocusStateChanged
Occurs when the focus state for stream types is changed regardless of the process.
Declaration
C#Copypublic static event EventHandler<StreamFocusStateChangedEventArgs> StreamFocusStateChanged
Event Type
| Type | Description |
|---|---|
| System.EventHandler<TEventArgs><StreamFocusStateChangedEventArgs> |