AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Darstellungsproblem Windows Media Player ActiveX
Thema durchsuchen
Ansicht
Themen-Optionen

Darstellungsproblem Windows Media Player ActiveX

Ein Thema von hotrs02 · begonnen am 10. Jan 2023 · letzter Beitrag vom 25. Jan 2023
Antwort Antwort
hotrs02

Registriert seit: 7. Apr 2022
40 Beiträge
 
#1

Darstellungsproblem Windows Media Player ActiveX

  Alt 10. Jan 2023, 17:12
Hi *.*,

gegeben ist in Delphi 11.2 eine von TCustomPanel abgeleitete Komponente, welche neben einem TTabControl (Align = alTop) das Windows Media Player ActiveX Steuerelement (Align = alClient) beinhaltet. Die Eigenschaft Parent des ActiveX-Steuerelements wird auf die abgeleitete Panel-Komponente gesetzt.

Verwendet wird die Panel-Komponente in einer TScrollBox-Instanz, welche wiederum in verschiedenen verschachtelten Komponenten sitzt (verschiedene TPanel-Instanzen und ein oder mehrere TFrame-Instanzen). Alle diese Komponenten werden dynamisch zur Laufzeit erzeugt, dem ActiveX-Steuerelement wird eine WAVE-Datei zugeordnet.

Hierbei ergibt sich das Problem, dass das ActiveX-Steuerelement nicht korrekt dargestellt wird. Es erscheint nur ein einfarbiger Bereich, der auch teilweise das TTabControl-Element überlagert. Von außen gesteuert wird die WAV-Datei allerdings korrekt wiedergegeben, jedoch ohne irgendwelche visuellen Anzeigen.

Setze ich die Eigenschaft Parent der abgeleiteten Panel-Komponente auf Application.MainForm, so wird das ActiveX-Steuerelement korrekt angezeigt (wenn auch falsch platziert) und lässt sich auch normal bedienen. Dabei ist es egal, ob das alte Windows Media Player ActiveX Steuerelement (msdxm.ocx) oder die aktuelle Version (wmp.dll) zum Einsatz kommt. Des weiteren funktioniert der (nahezu) gleiche Code mit Delphi 5 übersetzt auf dem gleichem System problemlos (nur msdxm.ocx getestet).

Ich hatte erst an ein allgemeines Problem mit ActiveX-Steuerelementen gedacht. Allerdings funktioniert ein Adobe Acrobat Reader ActiveX-Steuerelement (mit einer zugewiesenen PDF-Datei) an Stelle des Windows Media Player ActiveX-Steuerelements auch in Delphi 11 problemlos.


Ist jemanden dieses Problem ggf. schon einmal untergekommen oder hat eine Idee, wo man da noch ansetzen könnte?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Darstellungsproblem Windows Media Player ActiveX

  Alt 10. Jan 2023, 17:36
Der Mediaplayer setzt auf eine Uraltschnittstelle auf.
Wir haben deshalb vor Jahren TWebBrowser und eine kleine html-Datei um Embedden genommen.
Mittlerweile nutzen wir hierfür TEdgeBrowser.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hotrs02

Registriert seit: 7. Apr 2022
40 Beiträge
 
#3

AW: Darstellungsproblem Windows Media Player ActiveX

  Alt 11. Jan 2023, 08:50
Es geht hier nicht um Vcl.MPlayer.TMediaPlayer, welches nach meinem Kenntnisstand noch das alte Media Control Interface (MCI) verwendet, sondern um das ActiveX-Steuerelement des zum Betriebssystem gehörenden Windows Media Player. Und letzteres verwendet soweit mir bekannt ist seit Windows Vista die aktuelle Schnittstelle Media Foundation.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Darstellungsproblem Windows Media Player ActiveX

  Alt 11. Jan 2023, 11:57
Ah stimmt. Übersehen. Da steht ActiveX...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hotrs02

Registriert seit: 7. Apr 2022
40 Beiträge
 
#5

AW: Darstellungsproblem Windows Media Player ActiveX

  Alt 25. Jan 2023, 09:51
Da ich keine Lösung für das Problem gefunden habe und es primär um das Abspielen von WAV-Dateien ging, habe ich kurzerhand eine neune Komponente erstellt, die auf den Windows Media Foundation beruht und hier die IMFMediaEngine Schnittstelle verwendet.

Da mit dieser Schnittstelle neben Audio auch Video abgespielt werden kann, wird die Komponente wohl über kurz oder lang auch unsere selbst entwickelte DirectShow-Komponente zum Abspielen von Videos ersetzen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:24 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