PLXINE-Unit

Zur Vorstellung von Komponenten und Units für Lazarus
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Danke für den Hinweis, ich werde in "einarbeiten"
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Ich habe ein Problem mit deiner schönen Unit.
Ich kriege beim Starten meiner kleinen Testaplikation (s.Anhang) folgenden Fehler:
project xtest raised exception class 'RunError(211)'


Woran mag dies liegen?
Xine-Test.tar.gz
test.mp3 aus Platzgründen weg gekürzt...
(167.74 KiB) 75-mal heruntergeladen

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Du musst die "cthreads" einbinden in der LPR. Ich nutzte in der PLUnit ein Thread(Frag mich bitte nicht mehr warum *G*). Dann sollte es gehen, bei mir auf jedenfalls.
Ich habe mit "extractfilepath(paramstr(0))+'test.mp3'" schlechte Erfahrung gemacht. Verwende besser Application.exename, ob das überall geht weiß ich nicht.

Danke für dein LOB...
MFG
Michael Springwald

stacho
Beiträge: 32
Registriert: Do 26. Nov 2009, 22:29

Re: PLXINE-Unit

Beitrag von stacho »

Hallo Teekeks,

nimm bitte in deiner main.pas cthreads aus dem uses-bereich heraus und
aktiviere in der projektdatei xtest.lpr cthreads ich weis nicht wo man die direktive UseCThreads einstellt, deshalb hab ich es einfach auskommentiert.

// {$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
// {$ENDIF}{$ENDIF}

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Hmmm, nun gehts erstmal... (also ich kriege keine AV oder so) aber ich höre nichts... muss ich noch irgendwo die Lautstärke eingeben?

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  if a then
  begin
    ax:=TPLXine.Create(true);
    ax.init;
    ax.FileOpen(extractfilepath(paramstr(0))+'test.mp3');
    ax.play;
    a:=false;
  end else
  begin
    ax.Stop;
    ax.Free;
    Application.Terminate;
  end;
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
  a:=true;
end;

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

ich glaube "ax.init;" kannst du weglassen. Wenn du True im Create hast. Die Datei findet er auch aufjedenfall ? Also müsste FileExists True zurück liefern....

edit01:
Unterstützt XINE bei dir überhaupt MP3 ? hast du mal andere Formate versucht ? Z.B. WAV oder OGG ? Weil MP3 ist ja kein Freies Format....
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Hi!
Wenn ich ax.init weg lasse, kriege ich eine dicke AV weiter hinten...
Und XINE sollte eigentlich die Datei abspielen können, ich hab eine "vollversion" oben (ich glaub von videolan)
Aber ich kann ja mal testen ob das xine überhaubt wirklich kann...

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Ahh, lag doch an xine, habs nochmal erneuert -> geht! (war doch noch die beschnittene version)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Bei XINE ist es wichtig das du die W32Codecs hast. Damit kannst du so gut wie jedes Format abspielen.
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

hab ich nun auch...

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Dann steht ja nichts mehr im Wege...
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Ich habe schon wieder ein Problem:
Ich würde gerne in einer ProgressBar den Aktuellen stand (Position) anzeigen lassen.

Nun setze ich zu beginn das hier:

Code: Alles auswählen

player.SetInfo;
  PBPos.Max:=player.PlayLen;


Und siehe da: Max ist nun auf 239785 (ca 3,5 Minuten).

Nun setze ich jede Sekunde das hier:

Code: Alles auswählen

player.SetInfo;
  PBPos.Position:=player.PlayPos;


Schön und gut, es ändert sich auch der wert, aber dieser geht nicht über 2527, was ja eindeutig zuwenig ist.
Also: was mache ich falsch?

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Ahhh, ich habe es gefunden.
Bitte aktualisiere doch mal deine Zip-Datei oben, die ist alt :)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Ich habe noch nicht sehr geändert, ich glaube eigentlich noch nichts....
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Doch doch, die zip-Version hat keine Lautstärke und die Property Position fehlt.
Beides sehr wichtig :)

Antworten