---
title: "AviAudioManager..::.AppendAudioStream Method (Int32, AviAudioManager, Int32, Int32, Int32, Int32, Boolean)"
canonical: https://www.graphicsmill.com/docs/gm5/M_Aurigma_GraphicsMill_Codecs_AviAudioManager_AppendAudioStream_7_fbcd8022.htm
product: "Graphics Mill 5.5 for .NET"
---

This documentation is for the old version. [Go to the latest Graphics Mill docs](https://www.graphicsmill.com/docs/gm/)

# AviAudioManager.AppendAudioStream Method (Int32, AviAudioManager, Int32, Int32, Int32, Int32, Boolean)
 
Appends audio data to existing audio stream.
 
**Namespace:** [Aurigma.GraphicsMill.Codecs](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill_Codecs.htm.md)
 **Assembly:** Aurigma.GraphicsMill.Codecs.AviProcessor (in Aurigma.GraphicsMill.Codecs.AviProcessor.dll)
 
## Syntax
  
```
Public Sub AppendAudioStream ( _streamIndex As Integer, _manager As AviAudioManager, _sourceAudioStreamIndex As Integer, _sourceOffset As Integer, _duration As Integer, _destinationOffset As Integer, _cutToVideoDuration As Boolean _
)
```
 
```csharp
public void AppendAudioStream(int streamIndex,AviAudioManager manager,int sourceAudioStreamIndex,int sourceOffset,int duration,int destinationOffset,bool cutToVideoDuration
)
```
 
### Parameters
 
 - streamIndex
     - Type: [System.Int32](http://msdn2.microsoft.com/en-us/td2s409d)
 
An index of the stream you want to append the audio data with.
 
**Note** 
Make sure that the audio stream with such index exists in the AVI file you create.

 - manager
     - Type: [Aurigma.GraphicsMill.Codecs.AviAudioManager](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Codecs_AviAudioManager.htm.md)
 [AviAudioManager](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Codecs_AviAudioManager.htm.md) class instance retrieved from the [AviReader](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Codecs_AviReader.htm.md) which is opened on the file you need to get the audio data from.

 - sourceAudioStreamIndex
     - Type: [System.Int32](http://msdn2.microsoft.com/en-us/td2s409d)
An index of the audio stream to retrieve the audio data from.

 - sourceOffset
     - Type: [System.Int32](http://msdn2.microsoft.com/en-us/td2s409d)
An offset of the source audio data (in 1/100 of seconds). In other words, how many data to skip from the source file.

 - duration
     - Type: [System.Int32](http://msdn2.microsoft.com/en-us/td2s409d)
A length of the audio data (in 1/100 of seconds) to add.

 - destinationOffset
     - Type: [System.Int32](http://msdn2.microsoft.com/en-us/td2s409d)
An offset of the destination audio data (in 1/100 of seconds). In other words, a length of the pause before the audio stream.

 - cutToVideoDuration
     - Type: [System.Boolean](http://msdn2.microsoft.com/en-us/a28wyd50)
 
A [Boolean](http://msdn2.microsoft.com/en-us/a28wyd50) value that specifies whether to truncate audio data to fit the duration of the video.
 
**Note** 
Keep in mind that video duration is determined in the moment when you call this method. It means that if you:
 
1. Add half of frames;
2. Add audio stream with this argument = **true**;
3. Add the rest frames;

only the first half of frames will be dubbed. The rest frames will be silent.
 
That is the reason why it is important to add audio data only when you add all video frames. You can use this fact to synchronize audio and video though.
   
## See Also

### Reference

- [AviAudioManager Class](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Codecs_AviAudioManager.htm.md)
- [AppendAudioStream Overload](https://www.graphicsmill.com/docs/gm5/O_T_Aurigma_GraphicsMill_Codecs_AviAudioManager_AppendAudioStream.htm.md)
- [Aurigma.GraphicsMill.Codecs Namespace](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill_Codecs.htm.md)
