LDicomWaveformGroup::SaveAudio

#include "Ltdic.h"

L_UINT16 LDicomWaveformGroup::SaveAudio(pszFilename, uFlags = 0)

L_TCHAR* pszFilename;

/* file name */

L_UINT16 uFlags;

/* reserved for future use */

Creates an audio (wave) file from the channels in the waveform group.

Parameter

Description

pszFilename

Name of the audio file to be created.

uFlags

Reserved for future use. Pass 0.

Returns

0

The function was successful.

> 0

An error occurred. Refer to Return Codes.

Comments

This function is very useful for extracting audio (wave) data from a DICOM object of type "Basic Voice Audio" (1.2.840.10008.5.1.4.1.1.9.4.1), which is typically used for report dictation.

The resulting wave file has the following characteristics:

1.

Number of channels: will either be 1 or 2, based on the value of the number of channels for this multiplex group. You can call LDicomWaveformGroup::GetNumberOfChannels to get the number of channels in a multiplex group.

2.

Bits per sample (sample size) will always be 8.

3.

Samples per second (sampling rate): This will be the same as the sampling frequency for the waveform group, call LDicomWaveformGroup::GetSamplingFrequency to get this value.

4.

Format category: PCM, mu-Law or a-Law, based on the value of the waveform sample interpretation which can be retrieved by calling LDicomWaveformGroup::GetSampleInterpretation.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

Platforms

Win32, x64

See Also

Functions:

Class Members, LDicomWaveformGroup::LoadAudio

Topics:

Working with DICOM Waveforms

Example

This sample shows how to extract a wave stream from a dataset.

L_INT LDicomWaveformGroup_SaveAudioExample(LDicomDS &InputDS, L_TCHAR * pszInputWaveFileName, L_TCHAR * pszResultingWaveFileName) 
{
   L_INT                nRet;
   LDicomWaveformGroup  AudioWaveformGroup; 
   // Do we have any waveforms in the dataset? 
   if(InputDS.GetWaveformGroupCount() <1) 
   {
      return -1;
   }
   // Load an audio file into the waveform group. 
   nRet = AudioWaveformGroup.LoadAudio(pszInputWaveFileName,0);
   if(nRet != DICOM_SUCCESS)
      return nRet;
   // Extract the wave stream from the waveform group and save it to disk
   nRet = AudioWaveformGroup.SaveAudio(pszResultingWaveFileName,0);
   if(nRet != DICOM_SUCCESS)
      return nRet;
   return DICOM_SUCCESS;
}