ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
401
401
EMPFEHLEN
-
28.04.08 16:26 #1
- Registriert seit
- Dec 2004
- Beiträge
- 75
Hallo,
ich hab folgendes Problem:
Für ein Projekt bastel ich mir einen SampleGrabber mit der DirectShowLib Version 2. Jetzt will ich dem Samplegrabber die Auflösung mitteilen, was aber nicht geht, ich mach das so:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
[SIZE=2][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] hr;[/SIZE] [SIZE=2][COLOR=#2b91af]AMMediaType[/COLOR][/SIZE][SIZE=2] media = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#2b91af]AMMediaType[/COLOR][/SIZE][SIZE=2]();[/SIZE] [SIZE=2]hr = sampleGrabber.GetConnectedMediaType(media);[/SIZE] [SIZE=2][COLOR=#2b91af]DsError[/COLOR][/SIZE][SIZE=2].ThrowExceptionForHR(hr);[/SIZE] [SIZE=2][COLOR=#2b91af]VideoInfoHeader[/COLOR][/SIZE][SIZE=2] videoInfoHeader = ([/SIZE][SIZE=2][COLOR=#2b91af]VideoInfoHeader[/COLOR][/SIZE][SIZE=2])[/SIZE][SIZE=2][COLOR=#2b91af]Marshal[/COLOR][/SIZE][SIZE=2].PtrToStructure(media.formatPtr, [/SIZE][SIZE=2][COLOR=#0000ff]typeof[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#2b91af]VideoInfoHeader[/COLOR][/SIZE][SIZE=2]));[/SIZE] [SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][SIZE=2] == videoInfoHeader) {[/SIZE] [SIZE=2][COLOR=#2b91af] Program[/COLOR][/SIZE][SIZE=2].error([/SIZE][SIZE=2][COLOR=#a31515]"VideoInfoHeader is NULL"[/COLOR][/SIZE][SIZE=2]);[/SIZE] [SIZE=2][COLOR=#0000ff] return[/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]videoInfoHeader.BmiHeader.Width = 320;[/SIZE] [SIZE=2]videoInfoHeader.BmiHeader.Height = 240;[/SIZE] [SIZE=2][COLOR=#2b91af]Marshal[/COLOR][/SIZE][SIZE=2].StructureToPtr(videoInfoHeader, media.formatPtr, [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][SIZE=2]);[/SIZE] [SIZE=2]hr = sampleGrabber.SetMediaType(media);[/SIZE] [SIZE=2][COLOR=#2b91af]DsError[/COLOR][/SIZE][SIZE=2].ThrowExceptionForHR(hr);[/SIZE] [SIZE=2][COLOR=#2b91af]DsUtils[/COLOR][/SIZE][SIZE=2].FreeAMMediaType(media);[/SIZE] [SIZE=2]media = [/SIZE][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][SIZE=2];[/SIZE] [/SIZE]
Dummerweise geht das so nicht, die Auflösung bleibt immer Standard: 800x600.
Kein Fehler kein nix - Weiß jemand warum das nicht geht?
Ähnliche Themen
-
Webcam auf Panel anzeigen und Bild/Video Speichern DirectShowLib
Von Topia im Forum .NET Grafik und SoundAntworten: 1Letzter Beitrag: 16.12.08, 11:53 -
C# Directshowlib entfernen der Letterbox
Von inuki im Forum .NET Grafik und SoundAntworten: 0Letzter Beitrag: 24.03.08, 09:21 -
[C# Net] Anfänger leidet unter Directshowlib - Capturetest
Von chmee im Forum .NET Grafik und SoundAntworten: 12Letzter Beitrag: 22.01.07, 10:10





Zitieren
Login





