Class AudioEmitterComponent
Component representing an audio emitter.
[Display("Audio emitter", null, Expand = ExpandRule.Once)]
[DataContract("AudioEmitterComponent")]
[DefaultEntityComponentProcessor(typeof(AudioEmitterProcessor), ExecutionMode = ExecutionMode.Runtime)]
[ComponentOrder(7000)]
[ComponentCategory("Audio")]
public sealed class AudioEmitterComponent : ActivableEntityComponent, IIdentifiable
- Inheritance
-
AudioEmitterComponent
- Implements
- Inherited Members
Remarks
Associate this component to an entity to simulate a 3D localized source of sound coming from the entity center.
Several sounds can be associated to a single AudioEmitterComponent. Use the Sounds dictionary to associate or dissociate a SoundBase to the emitter component. Each SoundBase associated to the emitter component can be controlled (played, paused, stopped, ...) independently for the others. Once attached to the emitter component, a SoundBase is controlled using a AudioEmitterSoundController. To get the AudioEmitterSoundController associated to a SoundBase use the readonly this[string] indexer.
Fields
Sounds
The sounds this audio emitter can play and use
[DataMember(10)]
public TrackingDictionary<string, Sound> Sounds
Field Value
Properties
DirectionalFactor
If 0 the sound will be omnidirectional, 1 fully directional
[DataMember(30)]
[DataMemberRange(0, 1, 0.1, 0.2, 3)]
public float DirectionalFactor { get; set; }
Property Value
Environment
The reverberation model that this emitter will use
[DataMember(40)]
public HrtfEnvironment Environment { get; set; }
Property Value
this[string]
The sound controllers associated with the sounds this audio emitter can play and use, use this to access and play sounds.
public AudioEmitterSoundController this[string soundName] { get; }
Parameters
soundName
stringThe name of the sound you want to access.
Property Value
- AudioEmitterSoundController
The sound controller.
UseHRTF
If possible use a more complex HRTF algorithm to perform 3D sound simulation
[DataMember(20)]
public bool UseHRTF { get; set; }
Property Value
Methods
AttachSound(SoundBase)
Attach a SoundBase to this emitter component. Once attached a AudioEmitterSoundController can be queried using readonly this[string] indexer to control the attached SoundBase.
public AudioEmitterSoundController AttachSound(SoundBase sound)
Parameters
sound
SoundBaseThe SoundBase to attach
Returns
Remarks
Attaching a SoundBase already attached has no effects.
Exceptions
- ArgumentNullException
The provided
sound
is null.- InvalidOperationException
The provided
sound
can not be localized (contains more than one channel).
DetachSound(SoundBase)
Detach a SoundBase from this emitter component. Once detach the controller previously associated to the SoundBase is invalid.
public void DetachSound(SoundBase sound)
Parameters
sound
SoundBaseThe SoundBase to detach.
Exceptions
- ArgumentNullException
The provided
sound
is null.- ArgumentException
The provided
sound
is not currently attached to the emitter component.