77namespace Unity . WebRTC
88{
99 /// <summary>
10- /// This event is called on audio thread .
10+ /// Delegate to be called when new audio data is received .
1111 /// </summary>
12- /// <param name="data"></param>
13- /// <param name="channels"></param>
12+ /// <remarks>
13+ /// `AudioReadEventHandler` is a delegate to be called when new audio data is received.
14+ /// </remarks>
15+ /// <param name="data">Float array containing audio data samples.</param>
16+ /// <param name="channels">Number of audio channels.</param>
17+ /// <param name="sampleRate">Sample rate of the audio data</param>
18+ /// <example>
19+ /// <code lang="cs"><![CDATA[
20+ /// audioStreamTrack.onReceived += (data, channels, sampleRate) =>
21+ /// {
22+ /// }
23+ /// ]]></code>
24+ /// </example>
25+ /// <seealso cref="AudioStreamTrack.OnReceived"/>
1426 public delegate void AudioReadEventHandler ( float [ ] data , int channels , int sampleRate ) ;
1527
1628 /// <summary>
@@ -30,12 +42,22 @@ public static void SetTrack(this AudioSource source, AudioStreamTrack track)
3042 }
3143
3244 /// <summary>
33- ///
45+ /// Represents a single audio track within a stream.
3446 /// </summary>
47+ /// <remarks>
48+ /// `AudioStreamTrack` is a `MediaStreamTrack` that represents a single audio track within a stream.
49+ /// </remarks>
50+ /// <example>
51+ /// <code lang="cs"><![CDATA[
52+ /// AudioStreamTrack audioStreamTrack = new AudioStreamTrack(texture);
53+ /// ]]></code>
54+ /// </example>
55+ /// <seealso cref="MediaStreamTrack" />
56+ /// <seealso cref="WebRTC" />
3557 public class AudioStreamTrack : MediaStreamTrack
3658 {
3759 /// <summary>
38- ///
60+ /// AudioSource object.
3961 /// </summary>
4062 public AudioSource Source
4163 {
@@ -182,17 +204,33 @@ internal void SetData(float[] data, int channels, int sampleRate)
182204 internal AudioTrackSource _trackSource ;
183205
184206 /// <summary>
185- ///
207+ /// Creates a new AudioStreamTrack object.
186208 /// </summary>
209+ /// <remarks>
210+ /// `AudioStreamTrack` constructor creates an instance of `AudioStreamTrack`.
211+ /// </remarks>
212+ /// <example>
213+ /// <code><![CDATA[
214+ /// AudioStreamTrack audioStreamTrack = new AudioStreamTrack();
215+ /// ]]></code>
216+ /// </example>
187217 public AudioStreamTrack ( )
188218 : this ( Guid . NewGuid ( ) . ToString ( ) , new AudioTrackSource ( ) )
189219 {
190220 }
191221
192222 /// <summary>
193- ///
223+ /// Creates a new AudioStreamTrack object.
194224 /// </summary>
195- /// <param name="source"></param>
225+ /// <remarks>
226+ /// `AudioStreamTrack` constructor creates an instance of `AudioStreamTrack` with a `source`.
227+ /// </remarks>
228+ /// <param name="source">`AudioSource` object.</param>
229+ /// <example>
230+ /// <code><![CDATA[
231+ /// AudioStreamTrack audioStreamTrack = new AudioStreamTrack(source);
232+ /// ]]></code>
233+ /// </example>
196234 public AudioStreamTrack ( AudioSource source )
197235 : this ( Guid . NewGuid ( ) . ToString ( ) , new AudioTrackSource ( ) )
198236 {
@@ -206,6 +244,18 @@ public AudioStreamTrack(AudioSource source)
206244 _audioCapturer . sender = true ;
207245 }
208246
247+ /// <summary>
248+ /// Creates a new AudioStreamTrack object.
249+ /// </summary>
250+ /// <remarks>
251+ /// `AudioStreamTrack` constructor creates an instance of `AudioStreamTrack` with a `listener`.
252+ /// </remarks>
253+ /// <param name="listener">`AudioListener` object.</param>
254+ /// <example>
255+ /// <code><![CDATA[
256+ /// AudioStreamTrack audioStreamTrack = new AudioStreamTrack(listener);
257+ /// ]]></code>
258+ /// </example>
209259 public AudioStreamTrack ( AudioListener listener )
210260 : this ( Guid . NewGuid ( ) . ToString ( ) , new AudioTrackSource ( ) )
211261 {
@@ -241,8 +291,16 @@ internal void RemoveSink(AudioStreamRenderer renderer)
241291 }
242292
243293 /// <summary>
244- ///
294+ /// Disposes of AudioStreamTrack.
245295 /// </summary>
296+ /// <remarks>
297+ /// `Dispose` method disposes of the `AudioStreamTrack` and releases the associated resources.
298+ /// </remarks>
299+ /// <example>
300+ /// <code lang="cs"><![CDATA[
301+ /// audioStreamTrack.Dispose();
302+ /// ]]></code>
303+ /// </example>
246304 public override void Dispose ( )
247305 {
248306 if ( this . disposed )
@@ -270,11 +328,19 @@ public override void Dispose()
270328 }
271329
272330 /// <summary>
273- ///
331+ /// Provides the audio data to the track.
274332 /// </summary>
275- /// <param name="nativeArray"></param>
276- /// <param name="channels"></param>
277- /// <param name="sampleRate"></param>
333+ /// <remarks>
334+ /// `SetData` method provides the audio data to the track.
335+ /// </remarks>
336+ /// <param name="nativeArray">`NativeArray<float>` containing audio data samples.</param>
337+ /// <param name="channels">Number of audio channels.</param>
338+ /// <param name="sampleRate">Sample rate of the audio data</param>
339+ /// <example>
340+ /// <code lang="cs"><![CDATA[
341+ /// audioStreamTrack.SetData(nativeArray, channels, sampleRate);
342+ /// ]]></code>
343+ /// </example>
278344 public void SetData ( NativeArray < float > . ReadOnly nativeArray , int channels , int sampleRate )
279345 {
280346 unsafe
@@ -285,11 +351,19 @@ public void SetData(NativeArray<float>.ReadOnly nativeArray, int channels, int s
285351 }
286352
287353 /// <summary>
288- ///
354+ /// Provides the audio data to the track.
289355 /// </summary>
290- /// <param name="nativeSlice"></param>
291- /// <param name="channels"></param>
292- /// <param name="sampleRate"></param>
356+ /// <remarks>
357+ /// `SetData` method provides the audio data to the track.
358+ /// </remarks>
359+ /// <param name="nativeSlice">`NativeSlice<float>` containing audio data samples.</param>
360+ /// <param name="channels">Number of audio channels.</param>
361+ /// <param name="sampleRate">Sample rate of the audio data</param>
362+ /// <example>
363+ /// <code lang="cs"><![CDATA[
364+ /// audioStreamTrack.SetData(nativeSlice, channels, sampleRate);
365+ /// ]]></code>
366+ /// </example>
293367 public void SetData ( NativeSlice < float > nativeSlice , int channels , int sampleRate )
294368 {
295369 unsafe
@@ -310,11 +384,19 @@ static void ProcessAudio(AudioTrackSource source, IntPtr array, int sampleRate,
310384 }
311385
312386 /// <summary>
313- ///
387+ /// Provides the audio data to the track.
314388 /// </summary>
315- /// <param name="array"></param>
316- /// <param name="channels"></param>
317- /// <param name="sampleRate"></param>
389+ /// <remarks>
390+ /// `SetData` method provides the audio data to the track.
391+ /// </remarks>
392+ /// <param name="array">Float array containing audio data samples.</param>
393+ /// <param name="channels">Number of audio channels.</param>
394+ /// <param name="sampleRate">Sample rate of the audio data</param>
395+ /// <example>
396+ /// <code lang="cs"><![CDATA[
397+ /// audioStreamTrack.SetData(array, channels, sampleRate);
398+ /// ]]></code>
399+ /// </example>
318400 public void SetData ( float [ ] array , int channels , int sampleRate )
319401 {
320402 if ( array == null )
@@ -332,11 +414,19 @@ public void SetData(float[] array, int channels, int sampleRate)
332414 // ReadOnlySpan<T> is supported since .NET Standard 2.1.
333415#if UNITY_2021_2_OR_NEWER
334416 /// <summary>
335- ///
417+ /// Provides the audio data to the track.
336418 /// </summary>
337- /// <param name="span"></param>
338- /// <param name="channels"></param>
339- /// <param name="sampleRate"></param>
419+ /// <remarks>
420+ /// `SetData` method provides the audio data to the track.
421+ /// </remarks>
422+ /// <param name="span">`ReadOnlySpan<float>` containing audio data samples.</param>
423+ /// <param name="channels">Number of audio channels.</param>
424+ /// <param name="sampleRate">Sample rate of the audio data</param>
425+ /// <example>
426+ /// <code lang="cs"><![CDATA[
427+ /// audioStreamTrack.SetData(span, channels, sampleRate);
428+ /// ]]></code>
429+ /// </example>
340430 public void SetData ( ReadOnlySpan < float > span , int channels , int sampleRate )
341431 {
342432 unsafe
@@ -350,8 +440,19 @@ public void SetData(ReadOnlySpan<float> span, int channels, int sampleRate)
350440#endif
351441
352442 /// <summary>
353- ///
443+ /// Event to be fired when new audio data is received.
354444 /// </summary>
445+ /// <remarks>
446+ /// `onReceived` event is fired when new audio data is received.
447+ /// </remarks>
448+ /// <example>
449+ /// <code lang="cs"><![CDATA[
450+ /// audioStreamTrack.onReceived += (data, channels, sampleRate) =>
451+ /// {
452+ /// }
453+ /// ]]></code>
454+ /// </example>
455+ /// <seealso cref="AudioReadEventHandler"/>
355456 public event AudioReadEventHandler onReceived
356457 {
357458 add
0 commit comments