Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » DirectShow: Eine AVI Datei abspielen...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.02.2005, 10:55 Uhr
olcay



Hallo,

haben folgenden Code geschrieben um eine AVI Datei mit DirectShow abzuspielen:


C++:
// playFile.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "DShow.h"

int main(void)
{
    HRESULT hr;
    IGraphBuilder *pGraph;
    IMediaControl *pControl;
    IMediaEvent *pEvent;

    if (FAILED(hr = CoInitialize(NULL))
        || FAILED(hr = CoCreateInstance(CLSID_FilterGraph, NULL,
                       CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph))
        || FAILED(hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl))
        || FAILED(hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent))
        || FAILED(hr = pGraph->RenderFile("D:\\video.avi", NULL))
        || FAILED(hr = pControl->Run()))
    {
        // Fehler .....
    }
    
    long evCode = 0;
    
    pEvent->WaitForCompletion(5000, &evCode);

    return 0;
}



Wenn ich den code compilen will erhalte ich folgende Fehlermeldung:
"d:\cpp\playFile\playFile.cpp(19): error C2664: 'IGraphBuilder::RenderFile' : cannot convert parameter 1 from 'const char [13]' to 'LPCWSTR'
"

Ich habe dann anschließend den string zu LPCWSTR so gecastet: (LPCWSTR)("D:\\video.avi")

Wenn ich dann den Code noch einmal compilen will erhalte ich folgende Fehler:

playFile error LNK2001: unresolved external symbol _CLSID_FilterGraph
playFile error LNK2001: unresolved external symbol _IID_IGraphBuilder
playFile error LNK2001: unresolved external symbol _IID_IMediaControl
playFile error LNK2001: unresolved external symbol _IID_IMediaEvent
playFile fatal error LNK1120: 4 unresolved externals

Ich versteh nicht was da falsch sein könnte. Die DShow.h habe ich eingebunden.

Vielen Dank,
Olcay

Dieser Post wurde am 18.02.2005 um 10:56 Uhr von olcay editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.02.2005, 11:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi, du musst noch die library mitlinken, musste nachschaun welche, ansonsten würde ich einfach wenn du einen festen pfad nimmst folgendes schreiben:

L"d\video.avi"

dann stimmts auch.

ansonsten musste so MultiByteToWideString oder so ähnlich zum konvertieren nutzen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.02.2005, 19:31 Uhr
olcay




Zitat von FloSoft:
hi, du musst noch die library mitlinken, musste nachschaun welche, ansonsten würde ich einfach wenn du einen festen pfad nimmst folgendes schreiben:

L"d\video.avi"

dann stimmts auch.

ansonsten musste so MultiByteToWideString oder so ähnlich zum konvertieren nutzen.


Hey,

danke für Deine Antwort. Ich kann Dir sagen an was es lag Ich musste nur Visual Studio konfigurieren und das Lib und Include Verzeichnis angeben. Es läuft nun perfekt.

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.01.2006, 15:26 Uhr
xXx
Devil


flosoft... ban mal diesen phentermine... man ist ads nervig
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.01.2006, 12:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


man scheiss spambots posten ja fast schneller als ich bannen kann
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: