AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mediaplayer Firemonkey

Ein Thema von holgerderchsler · begonnen am 26. Sep 2015 · letzter Beitrag vom 30. Sep 2015
Antwort Antwort
holgerderchsler

Registriert seit: 30. Dez 2009
Ort: Zürich
23 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 14:14
So habe mal den Quellcode, wie es hathor geschrieben hat umgesetzt. Die unit mediaPlayerStretchFix; //20150927 eingebunden und tatsächlich, eine neue Funktion stretch steht bereit. Ich habe den MediaControl auf Client gestellt, aber leider wird das Bild nicht grösser.

Wo habe ich was falsch gemacht oder übersehen?

Liebe Grüsse

Holger
Holger
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 14:44
Ohne Sourcecode kann man nicht einmal raten...

Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
if (MediaPlayer1.State = TMediaState.Playing) then
TWindowsMedia (Mediaplayer1.Media).stretch;
end;
Nichts vergessen?
Angehängte Grafiken
Dateityp: jpg Form1-Resize.jpg (14,1 KB, 10x aufgerufen)

Geändert von hathor (29. Sep 2015 um 15:36 Uhr)
  Mit Zitat antworten Zitat
holgerderchsler

Registriert seit: 30. Dez 2009
Ort: Zürich
23 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 15:57
Alles klar.

Delphi Quellcode

Delphi-Quellcode:
unit unitmedia;
interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Media.Win,
  FMX.Controls.Presentation, FMX.StdCtrls,mediaPLayerStretchFix,
  FMX.Media, FMX.Objects;

type
  Tplayer = class(TForm)
    OpenDialog1: TOpenDialog;
    Button1: TButton;
    MediaPlayer1: TMediaPlayer;
    MediaPlayerControl1: TMediaPlayerControl;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure OpenDialog1Close(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  player: Tplayer;

implementation

{$R *.fmx}

procedure Tplayer.Button1Click(Sender: TObject);
var pfad: String;
begin
     pfad := 'D:\PROGRAMME\SEHTEST mit externen Bildern V3\Win32\Debug\Filme\';
     OpenDialog1.InitialDir := pfad;
     OpenDialog1.Execute;
end;

procedure Tplayer.Button2Click(Sender: TObject);
begin
  MediaPlayer1.Play;
end;

procedure Tplayer.Button3Click(Sender: TObject);
begin
  MediaPlayer1.Stop;
end;

procedure Tplayer.Button4Click(Sender: TObject);
begin
     if (MediaPlayer1.State = TMediaState.Playing) then
     begin
      TWindowsMedia(MediaPlayer1).stretch;
     end;

end;

procedure Tplayer.OpenDialog1Close(Sender: TObject);
begin
    MediaPlayer1.FileName := OpenDialog1.FileName;
end;

end.

die unit mediaPLayerStretchFix habe ich genau so eingegeben, wie von Dir geschrieben.





Wäre denn ein OleContainer für einen externen Player auch möglich, so wie der vcl player ?


Liebe Grüsse Holger
Holger

Geändert von mkinzler (29. Sep 2015 um 16:23 Uhr) Grund: QUOTE-Tag durch CODE-Tag ersetzt.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 16:48
Du solltest den Code in Resize aufrufen:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
if (MediaPlayer1.State = TMediaState.Playing) then
TWindowsMedia (Mediaplayer1.Media).stretch;
end;
Sei NICHT so stur - mit dem Button macht das keinen Sinn!

Wenn Du es UNBEDINGT mit dem Button machen willst:
Lösche den OnResize-Eintrag und mache es so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
FormResize(Self);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
if (MediaPlayer1.State = TMediaState.Playing) then
TWindowsMedia (Mediaplayer1.Media).stretch;
end;

Geändert von hathor (29. Sep 2015 um 16:54 Uhr)
  Mit Zitat antworten Zitat
holgerderchsler

Registriert seit: 30. Dez 2009
Ort: Zürich
23 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 18:33
Keine Ahnung, wie Du darauf kommst, ich sei stur, aber egal...
Ich habe das jetzt in Resize eingegeben, der Button war ja zunächst als Versuchsobjekt gedacht, später sollte das automatisch laufen auch egal..
Leider bleibt das Bild in der Ausgangsgrösse..

Liebe Grüsse Holger
Holger
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

AW: Mediaplayer Firemonkey

  Alt 29. Sep 2015, 20:25
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
   MediaPlayer1.FileName:= OpenDialog1.Filename;
   MediaPlayer1.Play;
   FormResize(Self);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Mediaplayer Firemonkey

  Alt 30. Sep 2015, 04:48
Besser

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  begin
    MediaPlayer1.FileName:= OpenDialog1.Filename;
    MediaPlayer1.Play;
    FormResize(Self);
  end;
end;
Sonst wird ein Teil des Codes auch ausgehührt wenn der Dialog abgebrochen wird.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz