private List<int> GetAudioStreams(string filename)
{
IMediaDet md = new MediaDet() as IMediaDet;
Guid streamType;
AMMediaType mt = new AMMediaType();
int hr, nStreams;
List<int> streamList = new List<int>();
md.put_Filename(filename);
md.get_OutputStreams(out nStreams);
for (int i = 0; i < nStreams; i++)
{
hr = md.put_CurrentStream(i);
DsError.ThrowExceptionForHR(hr);
hr = md.get_StreamType(out streamType);
DsError.ThrowExceptionForHR(hr);
if (streamType == MediaType.Audio)
streamList.Add(i);
}
return streamList;
}