Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Mediaplayer spielt keine .MOV und keine .MP4-Datein (https://www.delphipraxis.net/185230-mediaplayer-spielt-keine-mov-und-keine-mp4-datein.html)

Woodman 23. Mai 2015 16:41

Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Hallo Wissende, in meinem Projekt, mit dem ich hier schon mal Probleme hatte, möchte ich auch Video-Dateien anspielen. Das klappt auch soweit ganz gut, aber wenn es sich um *.mp4 oder *.mov-Videos handelt, bekomme ich diese Fehlermeldung:
Code:
Kann Datei nicht öffnen, MCI-Fehlercode: 277, ErrorMessage: "Fehler beim Starten von MCI."
Das witzige bei der Sache ist, wenn ich diese Dateien in *.mpg umbenenne, werden sie problemlos abgespielt.:o

Der DeviceType des Mediaplayers steht auf "dtAutoSelect".

Hat jemand eine Idee, wie ich diese Dateien auch ohne Umbenennen abspielen kann?

Ach ja: *.mpg und *.mts werden klaglos abgespielt.

Bernhard Geyer 23. Mai 2015 16:46

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Ist den der TMediaPlayer überhaupt noch das Element das man verwenden sollte? Dieser Basiert doch AFAIK auf einer älter WinAPI-Schnittstelle die nicht mehr weiter entwickelt wird.

Wir setzen für das Abspielen von Medien auf den MediaPlayer den man als ActiveX im IE verwenden kann. Evtl. gleich auf HTMl5 im TWebbrowser gehen und diese Alt-APIs links liegen lassen.

Woodman 23. Mai 2015 17:03

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1302782)
....Wir setzen für das Abspielen von Medien auf den MediaPlayer den man als ActiveX im IE verwenden kann. Evtl. gleich auf HTMl5 im TWebbrowser gehen und diese Alt-APIs links liegen lassen.

Wie binde ich den ActiveX-Mediaplayer in Delphi ein?
Und einen TWebbrowser (kannte ich noch von Turbo-Delphi) kann ich in der Starter-Version nicht finden.

hathor 23. Mai 2015 17:10

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Nimm VLC - spielt fast alles:
Download 2.2.0

Siehe hier:
http://www.delphipraxis.net/1291900-post25.html

Woodman 23. Mai 2015 17:13

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Danke für die Antwort, das wäre eine Überlegung wert.
Ich werde mich mal einlesen.

himitsu 23. Mai 2015 17:57

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
MOV sind QuickTime-Dateien.
Die kann der MediaPlayer eigentlich nicht "selber" abspielen. (ohne die Installation des entsprechenden Codecs)

QuickTime-Player installieren, bzw. einen anderen Player oder einen Codec-Pack, welcher solche Codecs mitbringt. (z.B. der erwähnte VLC)


Und ob der TMediaPlayer überhaupt in der Lage ist "fremde" Codecs zu benutzen und wenn ja Welche, das ist eine andere Angelegenheit.
Wenn nicht, dann mußt du halt einen anderen Player benutzen, welche sich teilweise als ActiveX-Componente in der eigenen Anwendung laden und benutzen lassen.

Woodman 23. Mai 2015 18:07

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Zitat:

Zitat von himitsu (Beitrag 1302799)
MOV sind QuickTime-Dateien.
Die kann der MediaPlayer eigentlich nicht "selber" abspielen. (ohne die Installation des entsprechenden Codecs)

QuickTime-Player installieren, bzw. einen anderen Player oder einen Codec-Pack, welcher solche Codecs mitbringt. (z.B. der erwähnte VLC)

Der Quicktime-Player ist installiert.

Zitat:

Zitat von himitsu (Beitrag 1302799)
Und ob der TMediaPlayer überhaupt in der Lage ist "fremde" Codecs zu benutzen und wenn ja Welche, das ist eine andere Angelegenheit.
Wenn nicht, dann mußt du halt einen anderen Player benutzen, welche sich teilweise als ActiveX-Componente in der eigenen Anwendung laden und benutzen lassen.

Wenn ich mich selber noch mal zitieren darf:
Zitat:

Das witzige bei der Sache ist, wenn ich diese Dateien in *.mpg umbenenne, werden sie problemlos abgespielt.:o
Aber da ja sowohl MP4 als auch MOV Container sind, klappt es wohl deshalb weil der "richtige Inhalt" in den Containern sind!?:?

SMO 23. Mai 2015 18:47

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Soweit ich weiß benutzt TMediaPlayer die alte Video for Windows (VfW) / MCI Schnittstelle. Die unterstützt nur wenige Containerformate. Andere Codecs gehen durchaus, aber nur wenn sie im alten VfW Format installiert sind.

Probiere mal das Abspielen per DirectShow. Hier ist eine brauchbare Demo. Der Code muss für XE7 ein bisschen angepasst werden, aber dafür brauchst du weder DSPack noch die DirectX Header, sind in neueren Delphis integriert (gebraucht wird die Unit Winapi.DirectShow9). Aus der Unit DSUtil werden nur die Routinen "SetBasicAudioVolume" und "SetBasicAudioPan" verwendet, wenn ich mich recht erinnere.

hathor 23. Mai 2015 19:36

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dieses Progrämmchen spielt auch VIDEOs:
http://www.delphipraxis.net/182667-d...ermeldung.html

Delphi-Quellcode:
program DirectShow_PLAYER;
// FFDSHOW, LAV VIDEODECODER

{$APPTYPE CONSOLE}
uses
WinApi.DirectShow9,
WinApi.Windows,
WinApi.ActiveX;

var
pGraph : IGraphBuilder;
pControl : IMediaControl;
pEvent : IMediaEvent;
hr : HRESULT;
evCode : integer = 0;
begin
hr := CoInitialize(nil);

if FAILED(hr) then
begin
Writeln('ERROR - Could not initialize COM library');
Halt(0);
end;

// Create the filter graph manager and query for interfaces.
hr := CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, pGraph);
if FAILED(hr) then
begin
Writeln('ERROR - Could not create the Filter Graph Manager.');
Halt(0);
end;

pGraph.QueryInterface(IID_IMediaControl, pControl);
pGraph.QueryInterface(IID_IMediaEvent, pEvent);

// IMPORTANT: Change this string to a file on your system.
//hr := pGraph.RenderFile('Alarm01.mp3', nil); // Build the graph
//hr := pGraph.RenderFile('DOTW.flac', nil); // Build the graph
hr := pGraph.RenderFile('Film.dvr', nil); // Build the graph
if SUCCEEDED(hr) then
begin
hr := pControl.Run(); // Run the graph
if SUCCEEDED(hr) then
begin
pEvent.WaitForCompletion(3600000, evCode); // 60 Min wait for completion
//pEvent.WaitForCompletion(INFINITE, evCode);
// Note: Do not use INFINITE in a real application, because it
// can block indefinitely.
end;
end;
pControl:=nil;
pEvent:=nil;
pGraph:=nil;
CoUninitialize;
end.

EWeiss 23. Mai 2015 20:07

AW: Mediaplayer spielt keine .MOV und keine .MP4-Datein
 
Zitat:

Das klappt auch soweit ganz gut, aber wenn es sich um *.mp4 oder *.mov-Videos handelt, bekomme ich diese Fehlermeldung:
Das geht auch mit diesen Dateien..
Vorausgesetzt die Codecs sind dafür installiert.

http://www.chip.de/downloads/Windows..._38528714.html

Zitat:

Ist den der TMediaPlayer überhaupt noch das Element das man verwenden sollte?
Warum nicht? (Bei mir laufen alle Videos über MCI) wenn der Codecs vorhanden ist. incl. 3GP usw...

Wenn dieser auf MCI basiert sollte das kein Problem sein.
Notfalls eine eigene MCI Klasse erstellen und gut ist.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.
Seite 1 von 2  1 2      

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