![]() |
DSPack::spielt einmal->danach nicht mehr
Hi,
wie der Cpp-Titel schon sagt, spielt mir das DSPack ein Video einmal ab und danach nicht mehr:
Delphi-Quellcode:
Das heißt, ich spiele Video1 aus der Playlist ab und klicke doppelt, entweder während Video1 noch abgespielt wird, oder wenn es gestoppt wurde, auf das Video2, womit der oben gezeigte Code aufgerufen wird. Plötzlich sehe ich nur noch ein schwarzes DSVideoWindowEx2 auf der Videoform. Ab dem ersten Abspielen von einem beliebigen Video, kann ich keine anderen mehr abspielen. Eventuell liegt es auch an der Videoform:
frmVideo.Show;
with frmVideo do begin if not FilterGraph.Active then begin if not FilterGraph.Active then FilterGraph.Active := true; FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end;
Delphi-Quellcode:
procedure TfrmVideo.FormDestroy(Sender: TObject);
begin FilterGraph.ClearGraph; FilterGraph.Free; VideoWindow.Free; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Ich denk mal das du den Filtergraph auch beenden (freigeben)
mußt wenn du einen doppelklick auf die Liste ausführst. Ich kann aus deine schnipsel nicht entnehmen das dies geschieht.
Delphi-Quellcode:
muß im klickverhalten von deiner Playliste stehen.
procedure TfrmVideo.FormDestroy(Sender: TObject);
begin FilterGraph.ClearGraph; FilterGraph.Free; VideoWindow.Free; end; Vergleichen mit if not FilterGraph.Active then : Else Obige zeilen ausführen. Gruß |
Re: DSPack::spielt einmal->danach nicht mehr
1. Das MUSS in OnDestroy trotzdem stehen, da ich sonst eine AV beim Beenden des Programms bekomme.
2. Wo soll dann der Freigabecode in Doppelklick hin ? Wenn ich noch
Delphi-Quellcode:
vor den Abspielcode setze, wird eine AV bei der markierten Zeile hervorgerufen:
with frmVideo do
begin if Filtergraph.Active then begin FilterGraph.ClearGraph; FilterGraph.Free; VideoWindow.Free; end; end;
Delphi-Quellcode:
frmVideo.Show;
with frmVideo do begin if not FilterGraph.Active then begin --> if not FilterGraph.Active then <-- FilterGraph.Active := true; FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Ein AV bekommst du deshalb weil du den FilterGraph neu initialisierst und er noch nicht freigegeben ist Bei jeden Film wird eine neue Instanz von FilterGraph gebildet was bedeutet wird diese nicht vorher beendet bekommst du einen AV. Du kannst if not FilterGraph.Active nicht aufrufen wenn du einen doppelklick auf die Liste machst FilterGraph dürfte dann schon nicht mehr existieren. Mache doch eine Public oder Globale Variable welche dir ermöglicht den status unabhängig von FilterGraph zu überprüfen. Beispiel: ISVIdeoPlaying : Boolean; Das einfügen nachdem ein Video spielt logischer weise auf True setzen Wenn du nun auf die Liste klickst dieses Variable abfragen Wenn True dann FilterGraph beenden, neu initialisieren und fertig. PS: Am besten nicht im Doppelklick event sondern im Mouseup Event Die Liste darf nicht mehr den Focus habe wenn du FilterGraph neu initialisierst. Und noch was FilterGraph.Free; muss immer ausgeführt werden bevor du ein neues Video abspielst. VideoWindow.Free; nicht unbedingt .. wenn du es mit einer PIcBox(Canvas) verbunden hast. Aber auf jedenfall wenn du dein Projekt beendest. Gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Meinst du das so ?
Delphi-Quellcode:
procedure TfrmMain.lbListMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if FGC= True then begin with frmVideo do begin if Filtergraph.Active then begin FilterGraph.Active := False; FilterGraph.ClearGraph; FilterGraph.Free; FGC := False end; end; end else begin with frmVideo do begin if not FilterGraph.Active then FilterGraph.Active := true; FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Nur die abfrage 'if Filtergraph.Active then' benötigst du nicht mehr das erledigt FGC nun an der stelle Auch die anderen wie FilterGraph.Active := False; nicht. All das erledigt nun die neue Variable unabhängig vom FilterGraph Beim neustart bracuhst du auch die anderen sachen nicht.
Delphi-Quellcode:
Der FilterGraph.ClearGraph; muß nicht nochmal gelöscht werden!
if not FilterGraph.Active then
FilterGraph.Active := true; FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; Das geschieht bereits in der obigen abfrage. FilterGraph.Stop; brauchst du auch nicht. nur diese beiden FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; etwa so ! Habe aber jetzt nicht auf die IF abfragen geachtet.
Delphi-Quellcode:
end;
if FGC= True then
begin with frmVideo do begin FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.Free; FGC := False end; end else begin with frmVideo do begin FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; FGC= True pause := True; end; gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Es funktioniert jetzt zwar allgemein, aber MouseUp kann ich wegen Drag&Drop der ListBox nicht verwenden. Was könnte ich anstelle von MouseUp nehmen ?
|
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Beispiel: Procedure CeckState(); Hier dein Code If FC True xxx.... end; diese im Mouseup Events aufrufen. Die ganze schleife also da rein. PS: Du muß im Mouseup event eine abfrage einfügen welche dir mitteilt ob ein doppelklick event ausgeführt wurde. Nur dann in Checkstate reinspringen. gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Delphi-Quellcode:
In xiPlay.Click werden die Endungen geprüft: Wenn Video dann öffne Videofenster, geb Filtergraph frei, lade das neue Video und spiel es ab.
procedure TfrmMain.lbListDblClick(Sender: TObject);
begin xiPlayClick(Sender); end; Mit MouseUp komm ich da nicht weiter. frmVideo:
Delphi-Quellcode:
frmMain:
procedure TfrmVideo.FormDestroy(Sender: TObject);
begin FilterGraph.ClearGraph; FilterGraph.Free; VideoWindow.Free; frmMain.FGC := True; end;
Delphi-Quellcode:
Das ist der Ursprungscode.
procedure TfrmMain.xiPlayClick(Sender: TObject);
var s : String; begin if (lbList.ItemIndex >= 0) then begin playindex := lbList.ItemIndex; if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mp3' then begin PlayFile(playindex); with fFiles[playindex] do begin s := Artist + ' - ' + Titel + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']'; lLauftext.Text := s; lLauftext.Active := True; lLauftext.Transparent := True; Application.Title := s; end; pindex := playindex; pause := True; end; if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.wmv' then begin frmVideo.Show; xiStopClick(Sender); with frmVideo do begin if not FilterGraph.Active then begin if not FilterGraph.Active then FilterGraph.Active := True; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end; end; if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mpeg' then begin frmVideo.Show; with frmVideo do begin if not FilterGraph.Active then begin if not FilterGraph.Active then FilterGraph.Active := true; FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end; end; usw. |
Re: DSPack::spielt einmal->danach nicht mehr
Lieber Nils
Ich sagte es ja schon. Was mir auffällt ist das du alles doppelt machst. Ich frage mich warum ?
Delphi-Quellcode:
if not FilterGraph.Active then wird zweimal in der gleichen abfrage aufgerufen
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.wmv' then
begin frmVideo.Show; xiStopClick(Sender); with frmVideo do begin if not FilterGraph.Active then begin if not FilterGraph.Active then FilterGraph.Active := True; FilterGraph.ClearGraph; FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; pause := True; end; end; end; das muss nicht sein. Dann kannst du dir viel ärger ersparen wenn du die abfragen Play/Stop auslagerst in eine eigens dafür erstellte Function. Und die aufrufst wenn du ein anderes Video startest. Ich würde im click verhalten nur das Format abfragen also *-wmv/*-avi oder was auch immer
Delphi-Quellcode:
procedure CheckPlayState()
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.wmv' then
begin xiStopClick(Sender); CheckPlayState end; //hier deine ganze abfrage vom aktuellen Spielstatus einfügen. end; Das gleiche bei
Delphi-Quellcode:
Du mußt dann die abfrage nur einmal schreiben und nicht bei jeden Dateityp doppelt.
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mpeg' then
begin xiStopClick(Sender); CheckPlayState end; end; frmVideo.Show; direkt in der ersten zeile des click events PS: Da fällt mir noch was auf zwei die gleichen abfragen nur wegen verschiedene Formate das geht besser. Feste Variable anlegen 'VideoTypen' VideoTypen := '.mpeg;.wmv' Dann kannst du beide Typen mit der Variable VideoTypen abfragen und mußt nicht alles doppelt machen. gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Delphi-Quellcode:
procedure TfrmMain.CheckState;
begin if FGC then begin with frmVideo do begin FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.Free; FGC := False; end; end else begin with frmVideo do begin FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; FGC := True; pause := True; end; end; frmVideo.Show; end;
Delphi-Quellcode:
Wie und wo würdest du dann in frmVideo FGC zuweisen, denn so bringt mir das nichts ?
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mpeg' then
begin CheckState; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Delphi-Quellcode:
Verstehe ich nun nicht.
Wie und wo würdest du dann in frmVideo FGC zuweisen, denn so bringt mir das nichts ?
Geht das nicht als Public Variable? übergreifend aus einer Unit? welche du unter used in der frmVideo zugewiesen hast? FGC : Boolean? Kannst mal den Source schicken? (Muss aber nicht unbedingt sein). dann schau ich es mir mal an. Innerhalb der frmVideo wird das wohl nichts werden den beim schließen dieser ist die Variable(das ergebnis) davon nicht mehr vorhanden mußt du also in deiner Hauptform einbinden. gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Hast mich falsch verstanden. Ich habe die Variable in der frmMain. Ich möcht wissen, wie ich die Variable von der frmVideo aus zuweisen muss, dass das funktioniert, bisher stand in der letzten Zeile von frmVideo.Destroy FGC := True, aber das bringt anscheinend nichts, denn bei dem Code bleibt das Videofenster schwarz.
Delphi-Quellcode:
procedure TfrmMain.CheckState;
begin if FGC then begin with frmVideo do begin FilterGraph.Stop; FilterGraph.ClearGraph; FilterGraph.Free; FGC := False; end; end else begin with frmVideo do begin FilterGraph.RenderFile(fFiles[playindex].pfad); FilterGraph.play; FGC := True; pause := True; end; end; frmVideo.Show; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Weil du den Thread frmVideo beendest und damit FGC := True keine bedeutung mehr hat. (Müßte aber beim beenden wenn schon auf False gesetzt werden) denn dein Video läuft ja nicht mehr. Wenn es True ist und der wert doch noch selbst nach dem beenden der frmVideo existenz ist dann ist es auf jedenfall falsch. Er muss auf FALSE gesetzt werde. gruß gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Habe deine 2 Pas dateien mal gescannt nach Graph
Kann nirgends erkennen wo du den FilterGraph initialisierst. Gibt es da kein FilterGraph.Create oder ähnlich Auch denke ich das du nach jeden FilterGraph.Free das FilterGraph.Window neu initialisieren mußt von all den sachen kann ich in den Dateien nix finden. Bei directX gibts zumindest den Befehl IVIDEO.VIdeoWindow := xxx.hdc Hier mal ein ausschnitt von meinen Player (VB)
Delphi-Quellcode:
Kann ich bei dir alles nicht finden :(
Private Sub sndPlayWmv(ByVal filename As String)
On Error GoTo sndPlayWmvErr Set MediaControl = New FilgraphManager If MediaControl Is Nothing Then MsgBox "Kann die Ojektlib Mediacontrol nicht erstellen" Exit Sub End If Set VideoWindow = MediaControl MediaControl.RenderFile (filename) With VideoWindow .WindowStyle = CLng(&H6000000) ' WS_DLGFRAME | WS_VSCROLL .SetWindowPosition mLeft, mTop, uWidth, uHeight .Owner = UserControl.hwnd ' set the form as the parent End With 'VideoWindow MediaControl.Run Exit Sub gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Ich habe es anders gelöst :)
Delphi-Quellcode:
procedure TfrmVideo.Play;
begin frmVideo.Show; if not FilterGraph.Active then FilterGraph.Active := true; FilterGraph.ClearGraph; FilterGraph.RenderFile(frmMain.spath); FilterGraph.Play; end;
Delphi-Quellcode:
if LowerCase(ExtractFileExt(fFiles[playindex].Dateiname)) = '.mpeg' then
begin spath := fFiles[playindex].Dateiname; frmVideo.Play; pause := True; end; |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
gruß |
Re: DSPack::spielt einmal->danach nicht mehr
Hi,
ich hab auch manchmal ein Problem mit DSPack, und zwar wenn mehrere DIVX Videos hintereinander gespielt werden, kommt manchmal ein renderfile error...dies ist meine Play Prozedur:
Delphi-Quellcode:
Wär cool wenn mir jemand helfen könnte, is glaub alles etwas wirr und durcheinander...aber es klappt fast immer..nur eben manchmal bei divx filmen oder wenn verschiedene divy xvid ...dann mp3 und wieder divx gespielt werden, kommt manchmal der renderfilerror...
procedure TForm7.PlayTHIS(Sender: TObject; This : String);
begin if FGVideo.Active then begin Form7.FGVideo.Stop; Form7.FGVideo.Active := False; Form7.FGVideo.ClearGraph; Form7.DCVISPluginRenderer1.Plugins.SetAudiofilter(nil); Form7.FgVideo.DisconnectFilters; end; if not Form7.FGVideo.Active then Form7.FGVideo.Active := True; Form7.FGVideo.ClearGraph; Sleep(100); try Errorcode := Form7.FGVideo.RenderFile(this); //////////////// HIER IST WOHL DAS PROBLEM IRGENDWIE CodecError := GetEventCodeDef(Errorcode); if (CodecError = '') OR ( CodecError = ' ') then CodecError := 'No AV File'; if (Errorcode = 0000) OR (Errorcode = S_OK) OR (Errorcode = VFW_S_PARTIAL_RENDER) OR (Errorcode = VFW_S_AUDIO_NOT_RENDERED) OR (Errorcode = VFW_S_DUPLICATE_NAME) OR (Errorcode = VFW_S_VIDEO_NOT_RENDERED) then begin //alles ok try if VisualsMR then Form7.DCVISPluginRenderer1.Plugins.SetAudiofilter(Form7.FGDSFilter as IBaseFilter); except //Plugins Problem end; try Form7.FGVideo.Play; Playing := True; except //Trying to Play Error Working := False; StopALL; Exit; end; end else begin //CodecFehler ErrorDesc := 'Unbekannter Fehler'; Case Errorcode of E_ABORT : ErrorDesc := 'Operation aborted'; E_FAIL : ErrorDesc := 'Failure'; E_INVALIDARG : ErrorDesc := 'Argument is invalid'; E_OUTOFMEMORY : ErrorDesc := 'Insufficient memory'; E_POINTER : ErrorDesc := 'Null pointer argument'; VFW_E_CANNOT_CONNECT : ErrorDesc := 'No combination of intermediate filters could be found to make the connection'; VFW_E_CANNOT_LOAD_SOURCE_FILTER : ErrorDesc := 'The source filter for this file could not be loaded'; VFW_E_CANNOT_RENDER : ErrorDesc := 'No combination of filters could be found to render the stream'; VFW_E_INVALID_FILE_FORMAT : ErrorDesc := 'The file format is invalid'; VFW_E_NOT_FOUND : ErrorDesc := 'An object or name was not found'; VFW_E_UNKNOWN_FILE_TYPE : ErrorDesc := 'The media type of this file is not recognized'; VFW_E_UNSUPPORTED_STREAM : ErrorDesc := 'Cannot play back the file: the format is not supported'; end; Errorcode := 0001; Working := False; StopALL; Exit; end; except //Renderfile Error oder System überlastet Errorcode := 0001; Working := False; StopALL; Exit; end; end; //ALLES OK Player läuft if (Errorcode = 0000) OR (Errorcode = S_OK) OR (Errorcode = VFW_S_PARTIAL_RENDER) OR (Errorcode = VFW_S_AUDIO_NOT_RENDERED) OR (Errorcode = VFW_S_DUPLICATE_NAME) OR (Errorcode = VFW_S_VIDEO_NOT_RENDERED) then begin deskdisplay.Label2.Caption := 'Jetzt läuft:'; TrackCounter := TrackCounter +1; Form7.PlayTime.Enabled := True; REMOVE := False; Playing := True; end; end end; |
Re: DSPack::spielt einmal->danach nicht mehr
Hallo,
wenn Du Deinen Quellcode etwas aufräumst und in [delphi][/delphi] Tags steckst, steigen Deine Chancen auf Hilfe enorm. In den Verhau kann ich mich jedenfall jetzt nicht einarbeiten. Schmeiss doch mal alles raus, was nichts mit dem Abspielen zu tun hat. Gruß xaromz |
Re: DSPack::spielt einmal->danach nicht mehr
ok danke habs nochmal bisi besser dargestellt denk ich....
|
Re: DSPack::spielt einmal->danach nicht mehr
sieht dabei irgend jemand einen fehler? Mach ich da was falsch?
|
Re: DSPack::spielt einmal->danach nicht mehr
Hallo,
ich kann jetzt keinen Fehler feststellen, aber das heißt nichts. Du rufst irgendwelche Funktionen irgendwelcher Objekte auf. Ich habe keine Ahnung, was die alles machen. Der "DCVISPluginRenderer1" ist so eine Beispiel. Die richtige Vorgehensweise ist es wohl, alles, was nicht zwingend notwendig ist, erst mal auszukommentieren; dann kannst Du nach und nach diese Teile wieder in Betrieb zu nehmen, bis der Fehler auftritt. Dann weißt Du, wo Du suchen musst, und dann können wir uns an die Lösung machen. Noch eine Frage: Tritt das Problem nur mit bestimmten Dateien auf oder mit ist das Verhalten zufällig? Schau Dir doch mal mit ![]() Gruß xaromz |
Re: DSPack::spielt einmal->danach nicht mehr
Hi,
das is die Komponente für die Visual Plugins vom DSPack, bzw die kommt von den DCDSP komponenten von DSP-WORX das ist aber nicht das Problem, ist das wird ja nur benutzt wenns auch aktiviert is, aber der Fehler tritt nicht auf wenn die Visuals an sind, sondern immer mal wieder, es sind auch nich direkt bestimmte dateien, manchmal bei nem MPG manchmal bei ner MP3 manchmal bei ner AVI...meist tritt das auf wenn eben unterschiedliche files hintereinander abgespielt werden also nach nem video MPg z.b. wenn danach ne mp3 kommt geht diese manchmal nicht renderfile error...oder wenn viele divx files hintereinander gespielt werden, kann es evtl sein, das der Codec, also eben z.b. divx manchmal nich ganz hinterher kommt oder so? also das der noch nich ganz aus dem speicher raus is, und ich will schon wieder das nächste starten oder so? Das Problem ist auch das ich ja in delphi keine Videos im Player laufen lassen kann, weil da kommt gleich meldung debugger detected und sense is...leider... aber auch das hätte mich nicht weiter gebracht wahrscheinlich da der fehler eben immer bei Filtergraph.renderfile(Dateiname); auftritt...ich habe schon versucht das renderfile einfach mit try except mehrmals hintereinander zu versuchen...oder ein sleep davor zu machen, aber das hat beides nix gebracht... |
Re: DSPack::spielt einmal->danach nicht mehr
Hallo,
ich hatte ein ähnliches Problem früher (mit OGM-Dateien). Sobald ich eine abgespielt hatte, ging der Player nicht mehr. Meine Lösung war damals IMHO, nach jedem Abspielen den TFilterGraph zu zerstören und neu zu erstellen. Inzwischen habe ich mir meine eigenen Routinen geschrieben, die ziemlich am DSPack vorbei gehen (aber immer noch das VideoWindow nutzen). Zeig doch mal, was Du beim Stoppen einer Mediendatei anstellst. Gruß xaromz |
Re: DSPack::spielt einmal->danach nicht mehr
Hi,
auf Stop mach ich das: Form7.fgvideo.Stop; Form7.FGVideo.ClearGraph; Form7.FGVideo.Active := False; Form7.DCVISPluginRenderer1.Plugins.SetAudiofilter( nil); Form7.FgVideo.DisconnectFilters; mehr eigentlich nicht. Ist das richtig so? Genauso mach ich es ja auch in der Play Prozedur... habs auch mal mit disconnectfilters und mal ohne probiert...macht keinen unterschied. Ist die vorgehensweise denn überhaupt richtig so? |
Re: DSPack::spielt einmal->danach nicht mehr
Hallo,
das sieht soweit gut aus. Aber versuch doch trotzdem mal, den Filtergraph zu zerstören und neu zu erstellen. Das hat mir wie gesagt damals geholfen. Gruß xaromz |
Re: DSPack::spielt einmal->danach nicht mehr
Ok,
das hab ich mal probiert grad, aber das verhalten is nich viel anders hab n paar xvid files hintereinander abgespielt und 2 gingen nich ...renderfileerror... und ansonsten hats geklappt, genau das selbe...also ich habs eben so probiert:
Delphi-Quellcode:
ausserdem war es auch noch so das die 2 weiteren dstrackbars nich mehr gehen obwohl ich sie ja wiedr mit dem filtergraph verknpfe... nur die erste trackbar geht also Form7.dstrackbar1if FGVideo.Active then begin Form7.FGVideo.Stop; Form7.FGVideo.ClearGraph; Form7.FGVideo.Active := False; Form7.DCVISPluginRenderer1.Plugins.SetAudiofilter(nil); Form7.FgVideo.DisconnectFilters; //Dyn neuer Filtergraph.... Form7.FgVideo.Free; NewFilter := TFilterGraph.Create(Form7); NewFilter.Name := 'FGVideo'; Form7.DSVideoWindowEx21.FilterGraph := FGVideo; Form7.FGDSFilter.FilterGraph := FGVideo; Form7.DSTrackBar1.FilterGraph := FGVideo; Playlistform.DSTrackBar1.FilterGraph := FGVideo; DeskDisplay.DSTrackBar1.FilterGraph := FGVideo; //------------------- end; |
Re: DSPack::spielt einmal->danach nicht mehr
noch eine frage dazu... manchmal kommt der fehler aber manchmal hängt sich der player dadurch total auf, kann ich das total aufhängen irgendwie unterdrücken? ich mach ja alles schon mit try excepts...
|
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Hat definitiv nichts mit dem DSPack zu tun. Eher damit das dieses Video nicht kompatibel mit dem aktuell installierten Codec ist. Vielleicht mal die Videos mit einen im System befindlichen Player abspielen. Dann kannst du sehen ob es nun an DSPack liegt oder aber einfach an der Datei selbst. Alternativ kämen auch noch die resourcen zu tragen vielleicht schafft dein Compi die vielen gleichzeitig spielenden Videos nicht. gruss Emil |
Re: DSPack::spielt einmal->danach nicht mehr
also eins der videos die nich in meinem player gehen, geht auch im windows media player nicht, aber der windows media player hängt sich dann nich total auf... das meinte ich. Ich fange ja den Fehler eigentlich mit try except ab, und stoppe dann den player bei einem fehler. Dies geht bei 99 % auch nur manchmal friert alles ein.
ausserdem gehen ja manchmal selbst mp3 nicht... Unter VISTA vor allem, da wird ja der DMO MP3 Filter verwendet und der kann scheinbar sehr viele MP3s garnicht abspielen, kann ich DSPACK sagen das er den Codec nich verwenden soll? Ist das möglich? |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Ich habe K-Lite Codecpack installiert. Keine ahnung was du im system installiert hast. Bei meinen Player hängt sich da nix auf. gruss Emil |
Re: DSPack::spielt einmal->danach nicht mehr
Hi,
du meinst jetzt unter VISTA? Da hab ich garkeine Codecs installiert is ein leeres blankes System so wie die leute drauf haben nach der installation...und da gehen einige MP3s nicht, wenn magst kann ich Dir eins schicken, zum testen... also unter VISTA unter XP gibts bei MP3s keine Probleme eigentlich nur extremst selten wenn vorher ein video war und irgendwas schief läuft... |
Re: DSPack::spielt einmal->danach nicht mehr
Zitat:
Ich benutze das obengenannte Codec Pack und habe keine probleme damit. Vista hab ich nicht.. gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 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