AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ C++ Delphi Übersetzung 3DYDYoutube Filter
Thema durchsuchen
Ansicht
Themen-Optionen

C++ Delphi Übersetzung 3DYDYoutube Filter

Ein Thema von EWeiss · begonnen am 2. Okt 2018 · letzter Beitrag vom 20. Nov 2020
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
EWeiss
(Gast)

n/a Beiträge
 
#1

C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 2. Okt 2018, 23:27
Ich baue gerade den Filter für YouTube in meine Library ein.
Und muss das übersetzen.

Code:
interface __declspec(uuid("FF762ACC-13EC-463A-A29C-FD4B0CD3E019"))
ISupportedSites: public IUnknown {
  enum { kVersion = 5 };

  // Version number equals to total number of functions within the interface
  // (ISupportedSites::kVersion is the current version). New functions are
  // appended to the interface. Function signatures are never change. Therefore
  // version number is the way to check whether particular function is available
  // in the interface
  STDMETHOD_(UINT, GetVersion)() = 0;

  // Number of supported sites
  STDMETHOD_(UINT, GetCount)() = 0;

  // Get site name or NULL if index >= GetCount()
  STDMETHOD_(BSTR, GetName)(UINT index) = 0;

  // Test whether url can be analyzed for video retrieving. S_FALSE means that
  // url seems from the supported site but not a valid video clip page. When
  // S_OK is returned, canonical_url will contain canonical page url, otherwise
  // it will not be changed
  // If explicitly == TRUE then S_OK will be returned only if URL definitely
  // points to video page URL instead of maybe just to some other page from the
  // supported site. This can be determined only for few sites, for others need
  // page data to determine this
  STDMETHOD(Test)(__in LPCWSTR url, __in BOOL explicitly, __out_opt BSTR* canonical_url) = 0;

  // Returns clip start time encoded in URL, in milliseconds
  STDMETHOD_(UINT, GetStartTime)(LPCWSTR url) = 0;
};
Delphi-Quellcode:
  ISupportedSites = interface(IUnknown)
    ['{FF762ACC-13EC-463A-A29C-FD4B0CD3E019}']
    (* ** ISupportedSites methods ** *)
    function GetVersion: UINT; stdcall;
    function GetCount: UINT; stdcall;
    function GetName(index: UINT): string; stdcall;
    function Test(url: PWideChar; explicitly: BOOL; out canonical_url: string): HRESULT; stdcall;
    function GetStartTime(url: PWideChar): UINT; stdcall;
  end;
Sollte eigentlich in Ordnung sein.
Wenn nicht bitte mitteilen was nicht stimmt.

Frage mich nur wie soll ich das Enum dazwischen klatschen. (Das ist meine Frage)

Code:
  enum { kVersion = 5 };
Die Infos sind recht spärlich und Antwort von ihm habe ich leider auch keine bekommen.

gruss

Geändert von EWeiss ( 3. Okt 2018 um 18:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 2. Okt 2018, 23:46
Das sollte ein Property darstellen des Typs Int.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 2. Okt 2018, 23:49
Das sollte ein Property darstellen des Typs Int.
Versteh ich nicht. Umgesetzt?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 2. Okt 2018, 23:53
Delphi-Quellcode:
  ISupportedSites = interface(IUnknown)
    ['{FF762ACC-13EC-463A-A29C-FD4B0CD3E019}']

kVersion = 5; // so vielleicht?

    (* ** ISupportedSites methods ** *)
    function GetVersion: UINT; stdcall;
    function GetCount: UINT; stdcall;
    function GetName(index: UINT); stdcall;
    procedure Test(url: PWideChar; explicitly: BOOL; var canonical_url: string); stdcall;
    function GetStartTime: UINT; stdcall;
  end;
edit
also kVersion muss etwas sein wo als wert ne 5 zurückkommt, vielleicht macht man das bei interface auch anders, per function oder so...
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 3. Okt 2018 um 00:03 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 00:01
Delphi-Quellcode:
  ISupportedSites = interface(IUnknown)
    ['{FF762ACC-13EC-463A-A29C-FD4B0CD3E019}']

kVersion = 5; // so vielleicht?

    (* ** ISupportedSites methods ** *)
    function GetVersion: UINT; stdcall;
    function GetCount: UINT; stdcall;
    function GetName(index: UINT); stdcall;
    procedure Test(url: PWideChar; explicitly: BOOL; var canonical_url: string); stdcall;
    function GetStartTime: UINT; stdcall;
  end;
Heheheh.. Vielleicht.. JA!
Nebenbei du hast zu früh kopiert habe noch etwas nachgebessert

Das Video läuft schon mal. Anbei ein Pic.
Was mir fehlt ist die Weite\höhe, Gesamt und verstrichene Zeit.
Im Moment geht es nur über eine Verknüpfung mit Dragdrop. (Habe keine Liste)

Nun gut ist noch was zu tun.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 00:12
ja sorry, bin schon total schlaff auf den augen, wusste nur worauf ich hinaus wollte weil du nur das eine angefragt hattest.

aber.... ich glaube mich rar zu erinnern das man dabei ne function mit fest-ergebnis nehmen sollte.... manno... bin grad voll am grübeln/zweifeln

wenn es nun läuft scheints das ja gewesen zu sein, tolle sache auch mal das richtige für dich gehabt zu haben
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 3. Okt 2018 um 00:14 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 00:16
Zitat:
wenn es nun läuft scheints das ja gewesen zu sein
Nein das laufen des Video hat damit nichts zu tun das ist eine andere Sache.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 14:42
Habe immer noch ein C++ Problem.

Code:
CComPtr<IBaseFilter> source;
if (FAILED(hr = source.CoCreateInstance(__uuidof(IYoutubeSource)))) {
    return VLC_EGENERIC;
}
CComQIPtr<ISupportedSites> ss = source;
if (!ss) {
    return VLC_EGENERIC;
}
CComBSTR url;
if (S_OK != (hr = ss->Test(original_url.c_str(), FALSE, &url))) {
    return VLC_EGENERIC;
}
Kann da bitte jemand bei der Übersetzung helfen? Danke

Habe es mal auf diese weise versucht.
Delphi-Quellcode:
  if DYDYoutubeFilter <> nil then
  begin
    hr := CoCreateInstance(CLSID_DYDYoutube, nil, CLSCTX_INPROC_SERVER, IID_IBaseFilter, Source);
    if SUCCEEDED(hr) then
      SupportedSites := ISupportedSites(Source);
      hr := SupportedSites.Test(PWideChar(MediaFile), false, url);
      if SUCCEEDED(hr) then
      begin

      end;
  end;
URL ist immer leer.


gruss

Geändert von EWeiss ( 3. Okt 2018 um 15:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 15:07
Ich bin gerade privat eingebunden, aber falls es Dich interessieren sollte, hier entnehme ich mir viele Informationen dazu.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 3. Okt 2018, 15:15
Ich bin gerade privat eingebunden, aber falls es Dich interessieren sollte, hier entnehme ich mir viele Informationen dazu.
Finde da nichts was mir bei meinem Problem helfen könnte. Trotzdem Danke.
Na ja vielleicht ist @Zacherl die Tage online.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz