Frage zu DirectShow

03/06/2010 - 15:21 von Dirk Herwig | Report spam
Hallo,

vielleicht könnt ihr mir weiterhelfen. Ich benutze für DS die DirctShowLib
von sourceforge.net.

In der Anwendung kann man, falls vorhanden, die Crossbar einstellen - so:

private void startToolStripMenuItem_Click(object sender, EventArgs e)
{
mediaControl.Pause();
DisplayPropertyPage(crossbar);
mediaControl.Run();
}

private void DisplayPropertyPage(IBaseFilter dev)
{
//Get the ISpecifyPropertyPages for the filter
ISpecifyPropertyPages pProp = dev as ISpecifyPropertyPages;
int hr = 0;

if (pProp == null)
{
//If the filter doesn't implement ISpecifyPropertyPages, try
displaying IAMVfwCompressDialogs instead!
IAMVfwCompressDialogs compressDialog = dev as
IAMVfwCompressDialogs;
if (compressDialog != null)
{

hr = compressDialog.ShowDialog(VfwCompressDialogs.Config,
IntPtr.Zero);
DsError.ThrowExceptionForHR(hr);
}
else
{
MessageBox.Show("Item has no property page", "No Property
Page", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
return;
}

//Get the name of the filter from the FilterInfo struct
FilterInfo filterInfo;
hr = dev.QueryFilterInfo(out filterInfo);
DsError.ThrowExceptionForHR(hr);

// Get the propertypages from the property bag
DsCAUUID caGUID;
hr = pProp.GetPages(out caGUID);
DsError.ThrowExceptionForHR(hr);

//Create and display the OlePropertyFrame
object oDevice = (object)dev;
hr = OleCreatePropertyFrame(this.Handle, 0, 0, filterInfo.achName,
1, ref oDevice, caGUID.cElems, caGUID.pElems, 0, 0, IntPtr.Zero);
DsError.ThrowExceptionForHR(hr);

Marshal.ReleaseComObject(oDevice);

if (filterInfo.pGraph != null)
{
Marshal.ReleaseComObject(filterInfo.pGraph);
}

// Release COM objects
Marshal.FreeCoTaskMem(caGUID.pElems);
}
}

Nun meine Frage - wie kann man im Programm die Pins für Input und Output
auslesen? Ich möchte diese Werte in eine Datei schreiben, weiß aber nicht,
wie ich an die Pins komme.

Gruss

Dirk
 

Lesen sie die antworten

#1 Thomas Scheidegger
03/06/2010 - 16:30 | Warnen spam
Hallo Dirk

DirectShowLib von sourceforge.net.



dann ist das dortige Forum (engl.)
eigentlich wesentlich passender:
http://sourceforge.net/projects/dir...rum/460697

oder das MS Forum (engl.) für DirectShow:
http://social.msdn.microsoft.com/Fo...nt/threads



Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/

Ähnliche fragen