Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   TWindowsMediaPlayer in Delphi 7 benutzen (https://www.delphipraxis.net/169054-twindowsmediaplayer-delphi-7-benutzen.html)

kwhk 26. Jun 2012 14:48

TWindowsMediaPlayer in Delphi 7 benutzen
 
Ich habe TWindowsMediaPlayer installiert entsprechend der Hinweise in folgendem Link
http://www.entwickler-ecke.de/topic_...0.html?view=df

Wenn ich nun ganz einfach diesen WindowsMediaplayer in ein kleines Projekt einfüge, sehe ich eine Menge Procedure, Functionen usw., deren Bedeutung aber ziemlich unklar ist, auch viele Dateitypen... Leider sagt die Hilfe dazu nichts aus.
Ich habe mal alle Komponenten zusammengestellt. Kennt jemand eine Beschreibung zur Nutzung dieser Parameter ?
Delphi-Quellcode:
procedure   launchURL(const bstrURL:WideString);
function    newPlaylist(const bstrName: WideString; const bstrURL: WideString) : IWMPPlaylist;
function    newMedia(const bstrURL: WideString) : IWMPMedia;
procedure   openPlayer(const bstrURL: WideString);
property    ControlInterface : IWMPPlayer4;
proberty    DefaultInterface : IWMPPlayer4;
proberty    openState : TOleEnum;
proberty    playState : TOleEnum;
proberty    controls : IWMPControls;
proberty    settings : IWMPSettings;
proberty    mediaCollection : IWMPMediaCollection;
proberty    playlistCollection : IWMPPlaylistCollection;
proberty    versionInfo : WideString;
proberty    network : IWMPNetwork;
proberty    cdromCollection : IWMPCdromCollection;
proberty    closedCaption : IWMPClosedCaption;
proberty    isOnline : WordBool;
proberty    Error : IWMPErrir;
proberty    status : WideString;
proberty    dvd : IWMPDVD;
proberty    isRemote : WordBool;
proberty    playerApplication : IWMPPlayerApplication;
proberty    Anchors : TAnchors;
proberty    TabStop : Boolean;
proberty    Align : TAlign;
proberty    DragCursor : TCursor;
proberty    DragMode : TDragMode;
proberty    ParentShowHint : Boolean;
proberty    PopupMenu : TPopupMenu;
proberty    ShowHint : Boolean;
proberty    TabOrder : TTabOrder;
proberty    Visible : Boolean;
proberty    OnDragDrop : TDragDropEvent;
proberty    OnDragOver : TDragOverEvent;
proberty    OnEndDrag : TEndDragEvent;
proberty    OnEnter : TNotifyEvent;
proberty    OnExit : TNotifyEvent;
proberty    OnStartDrag : TStartDragEvent;
proberty    URL : WideString;
proberty    currentMedia : IWMPMedia;
proberty    currentPlaylist : IWMPPlaylist;
proberty    enabled : WordBool;
proberty    fullScreen : WordBool;
proberty    enableContexMenu : WordBool;
proberty    uiMode : WideString;
proberty    strechToFit : WordBool;
proberty    windowlessVideo : WordBool;
proberty    OnOpenStateChange : TWindowsMediaPlayerOpenStateChange;
proberty    OnPlayStateChange : TWindowsMediaPlayerPlayStateChange;
proberty    OnAudioLanguageChange : TWindowsMediaPlayerAudioLangueChange;
proberty    OnStatusChange : TNotifyEvent;
proberty    OnScriptCommand : TWindowsMediaPlayerScriptCpmmand;
proberty    OnNewStream : TNotifyEvent;
proberty    OnDisconnect : TWindowsMediaPlayerDisconnect;
proberty    OnBuffering : TWindowsMediaPlayerBuffering;
proberty    OnError : TNotifyEvent;
proberty    OnWarning : TWindowsMediaPlayerWarning;
proberty    OnEndOfStream : TWindowsMediaPlayerEndOfStream;
proberty    OnPositionChange : TWindowsMediaPlayerPositionChange;
proberty    OnMarkerHit : TWindowsMediaPlayerMarkerHit;
proberty    OnDurationUnitChange : TWindowsMediaPlayerDurationUnitChange;
proberty    OnCdromMediaChange : TWindowsMediaPlayerCdromMediaChange;
proberty    OnPlaylistChange : TWindowsMediaPlayerPlaylistChange;
proberty    OnCurrentPlaylistChange : TWindowsMediaPlayerCurrentPlaylistChange;
proberty    OnCurrentPlaylistItemAvailable : TWindowsMediaPlayerCurrentPlaylistItemAvailable;
proberty    OnMediaChange : TWindowsMediaPlayerMediaChange;
proberty    OnCurrentMediaItemAvailable : TWindowsMediaPlayerCurrentMediaItemAvailable;
proberty    OnCurrentItemChange : TWindowsMediaPlayerCurrentItemChange;
proberty    OnMediaCollectionChange : TNotifyEvent;
proberty    OnMediaCollectionAttributeStringAdded : TWindowsMediaPlayerMediaCollectionAttributeStringAdded;
proberty    OnMediaCollectionAttributeStringRemoved : TWindowsMediaPlayerMediaCollectionAttributeStringRemoved;
proberty    OnMediaCollectionAttributeStringChanged : TWindowsMediaPlayerMediaCollectionAttributeStringChanged;
proberty    OnPlaylistCollectionChange : TNotifyEvent;
proberty    OnPlaylistCollectionPlaylistAdded : TWindowsMediaPlayerPlaylistCollectionPlaylistAdded;
proberty    OnPlaylistCollectionPlaylistRemoved : TWindowsMediaPlayerPlaylistCollectionPlaylistRemoved;
proberty    OnPlaylistCollectionPlaylistSetAsDeleted : TWindowsMediaPlayerPlaylistCollectionPlaylistSetAsDeleted;
proberty    OnModeChange : TWindowsMediaPlayerModeChange;
proberty    OnMediaError : TWindowsMediaPlayerMediaError;
proberty    OnOpenPlaylistSwitch : TWindowsMediaPlayerOpenPlaylistSwitch;
proberty    OnDomainChange : TWindowsMediaPlayerDomainChange;
proberty    OnSwitchedToPlayerApplication : TNotifyEvent;
proberty    OnSwitchedToControl : TNotifyEvent;
proberty    OnPlayerDockedSateChange : TNotifyEvent;
proberty    OnPlayerReconnect : TNotifyEvent;
proberty    OnClick : TWindowsMediaPlayerClick;
proberty    OnDoubleClick : TWindowsMediaPlayerDoubleClick;
proberty    OnKeyDown : TWindowsMediaPlayerKeyDown;
proberty    OnKeyPress : TWindowsMediaPlayerKeyPress;
proberty    OnKeyUp : TWindowsMediaPlayerKeyUp;
proberty    OnMouseDown : TWindowsMediaPlayerMouseDown;
proberty    OnMouseMove : TWindowsMediaPlayerMouseMove;
proberty    OnMouseUp : TWindowsMediaPlayerMouseUp;
proberty    OnDeviceConnect : TWindowsMediaPlayerDeviceConnect;
proberty    OnDeviceDisconnect : TWindowsMediaPlayerDeviceDisconnect;
proberty    OnDeviceStatusChange : TWindowsMediaPlayerDeviceStatusChange;
proberty    OnDeviceSyncStateChange : TWindowsMediaPlayerDeviceSyncStateChange;
proberty    OnDeviceSyncError : TWindowsMediaPlayerDeviceSyncError;
proberty    OnCreatePartnershipComplete : TWindowsMediaPlayerCreatePartnershipComplete;
proberty    OnCdromRipStateChange : TWindowsMediaPlayerCdromRipStateChange;
proberty    OnCdromRipMediaError : TWindowsMediaPlayerCdromRipMediaError;
proberty    OnCdromBurnStateChange : TWindowsMediaPlayerCdromBurnStateChange;
proberty    OnCdromBurnMediaError : TWindowsMediaPlayerCdromBurnMediaError;
proberty    OnCdromBurnError : TWindowsMediaPlayerCdromBurnError;
proberty    OnLibraryConnect : TWindowsMediaPlayerLibraryConnect;
proberty    OnLibraryDisconnect : TWindowsMediaPlayerLibraryDisconnect;
proberty    OnFolterScanStateChange : TWindowsMediaPlayerFolterScanStateChange;
proberty    OnStringCollectionChange : TWindowsMediaPlayerStringCollectionChange;
proberty    OnMediaCollectionMediaAdded : TWindowsMediaPlayerMediaCollectionMediaAdded;
proberty    OnMediaCollectionMediaRemoved : TWindowsMediaPlayerMediaCollectionMediaRemoved
constructor Create(AOwner : TComponent);
procedure   launchURL(const bstrURL : WideString);
function    newPlaylist(const bstrName : WideString; const bstrURL : WideString) : IWMPPlaylist;
function    newMedia(const bstrURL : WideString) : IWMPMedia;
procedure   openPlayer(const bstrURL : WideString);
proberty    ControlInterface : IWMPPlayer4;
proberty    DefaultInterface : IWMPPlayer4;
proberty    openState : TOleEnum;
proberty    playState : TOleEnum;
proberty    controls : IWMPControls;
proberty    settings : IWMPSettings;
proberty    mediaCollection : IWMPMediaCollection;
proberty    playlistCollection : IWMPPlaylistCollection;
proberty    versionInfo : WideString;
proberty    network : IWMPNetwork;
proberty    cdromCollection : IWMPCdromCollection;
proberty    closedCaption : IWMPClosedCaption;
proberty    isOnline : WordBool;
proberty    Error : IWMPError;
proberty    status : WideString;
proberty    dvd : IWMPDVD;
proberty    isRemote : WordBool;
proberty    playerApplication : IWMPPlayerApplication;
proberty    Anchors : TAnchors;
proberty    TabStop : Boolean;
proberty    Align : TAlign;
proberty    DragCursor : TCursor;
proberty    DragMode : TDragMode;
proberty    ParentShowHint : Boolean;
proberty    PopupMenu : TPopupMenu;
proberty    ShowHint : Boolean;
proberty    TabOrder : TTabOrder;
proberty    Visible : Boolean;
proberty    OnDragDrop : TDragDropEvent;
proberty    OnDragOver : TDragOverEvent;
proberty    OnEndDrag : TEndDragEvent;
proberty    OnEnter : TNotifyEvent;
proberty    OnExit : TNotifyEvent;
proberty    OnStartDrag : TStartDragEvent;
proberty    URL : WideString;
proberty    currentMedia : IWMPMedia;
proberty    currentPlaylist : IWMPPlaylist;
proberty    enabled : WordBool;
proberty    fullScreen : WordBool;
proberty    enableContextMenu : WordBool;
proberty    uiMode : WideString;
proberty    stretchToFit : WordBool;
proberty    windowlessVideo : WordBool;
proberty    OnOpenStateChange : TWindowsMediaPlayerOpenStateChange;
proberty    OnPlayStateChange : TWindowsMediaPlayerPlayStateChange;
proberty    OnAudioLanguageChange : TWindowsMediaPlayerAudioLanguageChange;
proberty    OnStatusChange : TNotifyEvent;
proberty    OnScriptCommand : TWindowsMediaPlayerScriptCommand;
proberty    OnNewStream : TNotifyEvent;
proberty    OnDisconnect : TWindowsMediaPlayerDisconnect;
proberty    OnBuffering : TWindowsMediaPlayerBuffering;
proberty    OnError : TNotifyEvent;
proberty    OnWarning : TWindowsMediaPlayerWarning;
proberty    OnEndOfStream : TWindowsMediaPlayerEndOfStream;
proberty    OnPositionChange : TWindowsMediaPlayerPositionChange;
proberty    OnMarkerHit : TWindowsMediaPlayerMarkerHit;
proberty    OnDurationUnitChange : TWindowsMediaPlayerDurationUnitChange;
proberty    OnCdromMediaChange : TWindowsMediaPlayerCdromMediaChange;
proberty    OnPlaylistChange : TWindowsMediaPlayerPlaylistChange;
proberty    OnCurrentPlaylistChange : TWindowsMediaPlayerCurrentPlaylistChange;
proberty    OnCurrentPlaylistItemAvailable : TWindowsMediaPlayerCurrentPlaylistItemAvailable;
proberty    OnMediaChange : TWindowsMediaPlayerMediaChange;
proberty    OnCurrentMediaItemAvailable : TWindowsMediaPlayerCurrentMediaItemAvailable;
proberty    OnCurrentItemChange : TWindowsMediaPlayerCurrentItemChange;
proberty    OnMediaCollectionChange : TNotifyEvent;
proberty    OnMediaCollectionAttributeStringAdded : TWindowsMediaPlayerMediaCollectionAttributeStringAdded;
proberty    OnMediaCollectionAttributeStringRemoved : TWindowsMediaPlayerMediaCollectionAttributeStringRemoved;
proberty    OnMediaCollectionAttributeStringChanged : TWindowsMediaPlayerMediaCollectionAttributeStringChanged;
proberty    OnPlaylistCollectionChange : TNotifyEvent;
proberty    OnPlaylistCollectionPlaylistAdded : TWindowsMediaPlayerPlaylistCollectionPlaylistAdded;
proberty    OnPlaylistCollectionPlaylistRemoved : TWindowsMediaPlayerPlaylistCollectionPlaylistRemoved;
proberty    OnPlaylistCollectionPlaylistSetAsDeleted : TWindowsMediaPlayerPlaylistCollectionPlaylistSetAsDeleted;
proberty    OnModeChange : TWindowsMediaPlayerModeChange;
proberty    OnMediaError : TWindowsMediaPlayerMediaError;
proberty    OnOpenPlaylistSwitch : TWindowsMediaPlayerOpenPlaylistSwitch;
proberty    OnDomainChange : TWindowsMediaPlayerDomainChange;
proberty    OnSwitchedToPlayerApplication : TNotifyEvent;
proberty    OnSwitchedToControl : TNotifyEvent;
proberty    OnPlayerDockedStateChange : TNotifyEvent;
proberty    OnPlayerReconnect : TNotifyEvent;
proberty    OnClick : TWindowsMediaPlayerClick;
proberty    OnDoubleClick : TWindowsMediaPlayerDoubleClick;
proberty    OnKeyDown : TWindowsMediaPlayerKeyDown;
proberty    OnKeyPress : TWindowsMediaPlayerKeyPress;
proberty    OnKeyUp : TWindowsMediaPlayerKeyUp;
proberty    OnMouseDown : TWindowsMediaPlayerMouseDown;
proberty    OnMouseMove : TWindowsMediaPlayerMouseMove;
proberty    OnMouseUp : TWindowsMediaPlayerMouseUp;
proberty    OnDeviceConnect : TWindowsMediaPlayerDeviceConnect;
proberty    OnDeviceDisconnect : TWindowsMediaPlayerDeviceDisconnect;
proberty    OnDeviceStatusChange : TWindowsMediaPlayerDeviceStatusChange;
proberty    OnDeviceSyncStateChange : TWindowsMediaPlayerDeviceSyncStateChange;
proberty    OnDeviceSyncError : TWindowsMediaPlayerDeviceSyncError;
proberty    OnCreatePartnershipComplete : TWindowsMediaPlayerCreatePartnershipComplete;
proberty    OnCdromRipStateChange : TWindowsMediaPlayerCdromRipStateChange;
proberty    OnCdromRipMediaError : TWindowsMediaPlayerCdromRipMediaError;
proberty    OnCdromBurnStateChange : TWindowsMediaPlayerCdromBurnStateChange;
proberty    OnCdromBurnMediaError : TWindowsMediaPlayerCdromBurnMediaError;
proberty    OnCdromBurnError : TWindowsMediaPlayerCdromBurnError;
proberty    OnLibraryConnect : TWindowsMediaPlayerLibraryConnect;
proberty    OnLibraryDisconnect : TWindowsMediaPlayerLibraryDisconnect;
proberty    OnFolderScanStateChange : TWindowsMediaPlayerFolderScanStateChange;
proberty    OnStringCollectionChange : TWindowsMediaPlayerStringCollectionChange;
proberty    OnMediaCollectionMediaAdded : TWindowsMediaPlayerMediaCollectionMediaAdded;
proberty    OnMediaCollectionMediaRemoved : TWindowsMediaPlayerMediaCollectionMediaRemoved;
constructor Create(AOwner : TComponent);
destructor  Destroy;
procedure   BrowseProperties;
procedure   Defaulthandler(var Message : Ohne Typ);
procedure   DoObjectverb(Verb : Integer);
function    GetEnumpropDesc(Displ : Integer) : TEnumPropDesc;
function    getHelpContext(Member : String; var HelpCtx : Integer; var HelpFile : String) : Boolean;
procedure   GetObjectVerbs(List : TStrings);
function    GetPropDisplayString(DispID : Integer) : String;
procedure   GetPropDisplayStrings(DispID : Integer; List : TStrings);
fuction     IsCustomProberty(DisplID : Integer) : Boolean;
function    IsPropPageProperty(DisplID : Integer) : Boolean;
Procedure   SetBounds(ALeft : Integer; ATop : Integer; AWidth : Integer; AHeight : Integer);
Procedure   SetPropDisplayString(DisplID : Integer; const Value : String);
Procedure   ShowAboutBox;
proberty    OleObject : Variant;
proberty    PerPropBrowsing :IPerPropertyBrowsing;
proberty    DefaultDispatch : IDispatch;
constructor CreateParented(ParentWindow : HWND);
function    CreateParentedControl(ParentWindow : HWND) : TWinControl
procedure   Broadcast(var Message : Ohne Typ);
function    CanFocus : Boolean;
function    ContainsControl(Control : TControl) : Boolean;
function    ControlAtPos(const Pos : TPoint; AllowDisabled : Boolean; AllowWinControls : Boolean = False) : TControl;
procedure   DisableAlign;
proberty    DockClientCount : Integer;
proberty    DockClients : [Index : Integer] : TControl;
procedure   DockDrop (Source : TDragDockObject; X : Integer; Y : Integer);
proberty    DoubleBuffered : Boolean;
procedure   EnableAlign;
function    FindChildControl(const ControlName : String) : TControl;
procedure   FlipChildren(AllLevels : Boolean);
function    Focused : Boolean;
procedure   GetTaborderList(List : TList);
function    HandleAllocated : Boolean;
procedure   HandleNeeded;
procedure   InsertControl(AControl : TControl);
procedure   Invalidate;
procedure   PaintTo(DC : HDC; X : Integer; Y : Integer);
procedure   PaintTo(Canvas : TCanvas; X : Integer; Y : Integer);
procedure   RemoveControl(AControl : TControl);
procedure   Realign;
procedure   Repaint;
procedure   ScaleBy(M : Integer; D : Integer);
procedure   Scrollby(DeltaX : Integer; DeltaY : Integer);
procedure   SetFocus;
procedure   Update;
procedure   UpdateControlState;
proberty    AllignDisabled : Boolean;
proberty    VisibleDockClientCount : Integer;
proberty    Brush : TBrush;
proberty    ControlCount : Integer;
proberty    Handle : HWND;
proberty    ParentWindow : HWND;
proberty    Showing : Boolean;
procedure   BeginDrag(Immediate : Boolean; Threshold : Integer = 1);
procedure   BringToFront;
function    ClientToScreen(const Point : TPoint) : TPoint;
function    ClientToParent(const Point : TPoint; AParent : TWinControl = nil) : TPoint;
procedure   Dock(NewDockSite : TWinControl; ARect : TRect);
function    Dragging : Boolean;
procedure   DragDrop(Source : TObject; X : Integer; Y : Integer);
function    DrawTextBiDiModeFlags(Flags : Integer) : Integer;
function    DrawTextBiDiModeFlagsReadingOnly : Integer;
procedure   EndDrag(Drop : Boolean);
function    GetControlsAlignment : TAlignment;
function    GetParentComponent : TComponent;
function    GetTextBuf(Buffer : PAnsiChar; BufSize : Integer) : Integer;
function    GetTextLen : Integer;
function    HasParent : Boolean;
procedure   Hide;
procedure   InitiateAction;
procedure   MouseWheelHandler(var Message : TMessage);
function    IsRightToleft : Boolean;
function    ManualDock(NewDockSite : TWinControl; DropControl : TControl = nil; ControlSide : TAlign = aNone) : Boolean;
function    ManualFloat(ScreenPos : TRect) : Boolean;
function    Perform(Msg : Cardinal; WParam : Integer; LParam : Integer) : Integer;
procedure   Refresh;
function    ReplaceDockedControl(Control : TControl; NewDockSite : TWinControl; DropControl : TControl; ControlSide : TAlign) : Boolean;
function    ScreenToClient(const Point : TPoint) : TPoint;
function    ParentToClient(const Point : TPoint; AParent : TWinControl = nil) : TPoint;
procedure   SendToBack;
procedure   SetTextBuf(Buffer : PAnsiChar);
procedure   Show;
function    UseRightToLeftAlignment : Boolean;
function    UseRightToLeftReading : Boolean;
function    UseRightToLeftScrollBar : Boolean;
proberty    Action : TBasicAction;
proberty    BiDiMode : TBiDiMode;
proberty    BoundsRect : TRect;
proberty    ClientHeight : Integer;
proberty    ClientOrigin : TPoint;
proberty    ClientRect : TRect;
proberty    ClientWidth : Integer;
proberty    Constraints : TSizeConstraints;
proberty    ControlState : TControlState;
proberty    ControlStyle : TControlStyle;
proberty    DockOrientation : TDockOrientation;
proberty    Floating : Boolean;
proberty    FloatingDockSiteClass : TWinControlClass;
proberty    HostDockSite : TWinControl;
proberty    LRDockSite : Integer;
proberty    Parent : TWinControl;
proberty    TBDockHeight : Integer;
proberty    UndockHight : Integer;
proberty    UndockWidth : Integer;
proberty    WindowProc : TWndMethod;
proberty    Left : Integer;
proberty    Top : Integer;
proberty    Width : Integer;
proberty    Height : Integer;
proberty    Cursor : TCursor;
proberty    Hint : String;
proberty    HelpType : THelptype;
proberty    HelpKeyword : String;
proberty    HelpContex : THelpContex;
procedure   BeforeDestruction;
procedure   DestroyComponents;
procedure   Destroying;
function    ExecuteAction(Action : TBasicAction) : Boolean;
function    FindComponent(const AName : String) : TComponent;
procedure   FreeNotification(AComponent : TComponent);
procedure   RemoveFreeNotification(AComponent : TComponent);
procedure   FreeOnRelease;
function    GetNamePath : String;
procedure   InsertComponent(AComponent : TComponent);
procedure   RemoveComponent(AComponent : TComponent);
procedure   SetSubComponent(IsSubComponent : Boolean);
function    SafeCallException(ExceptObject : TObject; ExceptAddr : Pointer) : HRESULT;
function    UpdateAction(Action : TBasicAction) : Boolean;
function    IsImplementorOf(const I : IInterface) : Boolean;
function    ReferenceInterface(const I : IInterface; Operation : TOperation) : Boolean
proberty    ComObject : IInterface;
proberty    Components : [Index : Integer] : TComponent;
proberty    ComponentCount : Integer;
proberty    ComponentIndex : Integer;
proberty    ComponentState : TComponentState;
proberty    ComponentStyle : TComponentStyle;
proberty    DesignInfo : Integer;
proberty    Owner : TComponent;
proberty    VCLComObject : Pointer;
proberty    Name : TComponentName;
proberty    Tag : Integer;
procedure   Assign(Source : TPersident);
procedure   Free;
function    InitInstance(Instance : Pointer) : TObject;
procedure   CleanupInstance;
function    ClassType : TClass;
function    ClassName : ShortString;
function    ClassNameIs(const Name : String) : Boolean;
function    ClassParent : TClass;
function    ClassInfo : Pointer;
function    InstanceSize : Integer;
function    InheritsFrom(AClass : TClass) : Boolean;
function    MethodAddress(const Name : ShortString) : Pointer;
function    MethodName(Address : Pointer) : ShortString;
function    FieldAddress(const Name : ShortString) : Pointer;
function    GetInterface(const IID : TGUID; out Obj : Ohne Typ) : Boolean;
function    GetInterfaceEntry(const IID : TGUID) : PInterfaceEntry;
function    GetInterfaceTable : PInterfaceTable;
procedure   AfterConstruction;
procedure   Dispatch(var Message : Ohne Typ);
function    NewInstance : TObject;
procedure   FreeInstance;

shmia 26. Jun 2012 15:37

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Windows Media Player Object Model Reference

kwhk 26. Jun 2012 18:53

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Danke Andreas, eine wirkliche Fundgrube ist das aber nicht.

jaenicke 27. Jun 2012 10:21

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Was fehlt dir denn z.B. konkret dort? Ich habe die Referenz schon ein paarmal genutzt, da war mir nicht aufgefallen, dass etwas fehlt. (Von dem was ich brauchte zumindest, auf den Rest habe ich nicht geschaut.)

shmia 27. Jun 2012 10:46

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Du wirst wahrscheinlich zur Automatisierungsschnittstelle des Media Player nicht allzuviel Informationen finden, weil:
* die Interfaces ständig weiterentwickelt werden und Infos schneller veralten als sie aufgeschrieben werden können
* viele Programmierer von der schlechten Qualität des Media Players abgeschreckt wurden
(zumindest früher waren Abstürze an der Tagesordnung; heute könnte die Qualität natürlich wesentlich besser sein)

kwhk 1. Jul 2012 10:44

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Ich brauche ein Programm, dem ich über die Kommandozeile den Dateinamen einer Videodatei übergebe. Dieses soll diese Datei abspielen, dabei in den Vollbildmodus schalten und dann, wenn das Abspielen zu Ende ist, sich selbst beenden.
Ich habe dazu mittels Probieren eine Lösung gefunden, die bei mir sowohl auf dem Desctop-PC mit WinXp und Win7prof-64 funktioniert, auch auf meinem Notebook mit Win7-ultimate-64.
So richtig gefällt mir das nicht, weil ich dazu die Status-Informationen in Form von deutschem WhiteString abfrage. Im Ausland würde das nicht funktionieren, weil da die Meldungen in englisch, französisch oder russisch kämen und meine Abfrage ins Leere laufen würde.
Ich muss zunächst abfragen, ob das Abspielen begonnen hat, weil sonst beim Umschalten in den Vollbildmodus ein Fehler kommt, das darf man nur machen, wenn abgespielt wird.
Die zweite Abfrage (über Status) ist die nach dem Ende des Abspielens, um das eigene Programm zu beenden.
Ich habe das alles in eine Timer-Routine gepackt, da wird aller Sekunden entsprechend abgefragt - das geht sicherlich viel eleganter.
Ich zeige nachfolgend mal meine Lösung...
Delphi-Quellcode:
unit HkMPlayer7u;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, MPlayer, OleCtrls, WMPLib_TLB;

type
  TForm1 = class(TForm)
    WindowsMediaPlayer1: TWindowsMediaPlayer;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Var
  qTimer1DL : Boolean = False;
  qPlayAnf : Boolean = False;
  iTimerSek : Longint = 0;
  sStatus  : String;
  sDSN     : String;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Align := alClient;
  qTimer1DL := False;
  qPlayAnf := False;
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not qTimer1DL then
    Begin
      qTimer1DL := True;
      iTimerSek := 0;
      if ParamCount < 1 then
        Close;
      sDSN := ParamStr(1);

      WindowsMediaPlayer1.URL := sDSN;
    End;

  Inc(iTimerSek);

  sStatus := WindowsMediaPlayer1.status; // WideString
  Form1.Caption := 'HkMPlayer7   ' + sDSN + '  ' + sStatus;

  if not qPlayAnf then
    Begin
      if Length(sStatus) > 11 then
        Begin
          if Copy(sStatus,1,10) = 'Wiedergabe' then
            Begin
              qPlayAnf := True;
              WindowsMediaPlayer1.fullScreen := True;
            End
          else
            if iTimerSek > 30 then
              Close;
        End;
    End;

  if iTimerSek > 13 then
    Begin
      if sStatus = 'Beendet' then
        Begin
          Close;
        End;
    End;
end;

end.

hathor 1. Jul 2012 10:54

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
proberty

@kwhk: Rechtschreibung: 6
Es muss property heissen.

lbccaleb 1. Jul 2012 12:41

AW: TWindowsMediaPlayer in Delphi 7 benutzen
 
Mein Tipp:

Lass den Media Player, Media Player sein, und steig stattdessen um auf das DSPack oder gar gleich auf reinen DirectX (DirectShow) Code.

Dazu hatte ich auch mal ein bsp. Programm geschrieben, wie so ein DX-Video/Audio Player aufgebaut wird. Den Rest kannst du mit Nachlesen erreichen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 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