![]() |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Mach mal 'ne Dateisuche in Windows über alle Laufwerke, alle Ordner (auch System und verstecke) nach bass.dll - Alle gefundenen löschen. Dann Kompo neu entpacken, die DLL in dein .exe-Verzeichnis kopieren. Das sollte dann klappen.
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
lad dir auch die BASS.DLL neu runter, vielleicht wurde sie nicht richtig entpackt
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
@omata
erstmal Danke für den Open-Source! Ich hab's jetzt mit der Ex-Version ,dem Update aus #236 und ein paar einfachen Anpassungen hinbekommen. Abgesehen von dem "Soundkarte nicht gefunden" Fehler ???, funktioniert alles nach den ersten Versuchen mit mehreren Mp3's und Wav's gleichzeitig sehr gut. WinXP,Delphi2006 //dllloader.pas in dllloaderU.pas umbenennen und die Alte ersetzen
Delphi-Quellcode:
Ein geniales Teil.Ich würde gerne Versuchen es mit OpenGl zu kombinieren,
//unit DLLLoader;
unit DLLLoaderU; ......................... unit BassDynamicU; TBassDll = class private // _BASSDLL:TDLLLoaderEx; _BASSDLL:TDLLLoader; constructor TBassDll.create(AOwner: TComponent); var DLLData:TMemoryStream; begin // _BASSDLL:=TDLLLoaderEx.Create; _BASSDLL:=TDLLLoader.Create; aber keine Angst meine Projekte werden sowieso nie fertig,deswegen versuche ich's mal in dieser Rubrik, vieleicht hilft ja schon ein kleiner Teil zu einem großen Ganzen. :wall: |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hallo @ all
ich wollte mal fragen, ob es irgend wie möglich ist den StreamInfo in einem label auszugeben ( Lauftext wie z.b in WinAmp ). im Moment lasse ich mir die StreamInfo in einem Memo anzeigen mit Bassdllplayer1.GetNetStreamInfo(Memo1.lines); was allerdings nicht besonders gut aussieht oder ist es möglich so einen Lauftext von rechts nach links in einem memo auszugeben? Hoffe ihr könnt mir bei meinem Problem weiter helfen :) MfG Blackbandit |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Lauftext unterstützt die Komponente nicht. Dazu ist diese auch nicht da.
Im Forum gibt es dafür garantiert eine Lösung. |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Ich hab mich sehr intensiv mit turboPASCAL Source vom TBassPlayer beschäfigt, weil ich die den Code großteils für sehr gut empfinde. Daher kenne ich aber auch die "Schwachpunkte" des Codes bzw. die Probleme was die Bass.dll betrifft. Hab viel aus turboPASCAL's Code gelernt.
Danke dafür an turboPASCAL, das du den Source OS gestellt hast. Zitat:
Welche Bass.DLL-Version verwendest du? Schon mal ihn das Manual der Bass.Dll geschaut? Zitat:
Zitat:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Könnte mir jemand erklären wie ich genau einzelne Channel erstellen kann?
Hab mir bass.dll runtergeladen und buss 2.3 auch installiert. Hier mal mein Code wie weit ich bin:
Delphi-Quellcode:
Wie kann ich jetzt einen 2. Channel erstellen damit ich ein weiteres Lied gleichzeitig laufen lassen kann?
type
TForm1 = class(TForm) Player1: TBassdllPlayer; ... procedure TForm1.Button1Click(Sender: TObject); var length,vol:integer; begin if OpenDialog1.Execute then begin Player1.LoadFromFile(OpenDialog1.Filename); TrackBar1.Max := Player1.SongLength; length := Player1.SongLength; s := length mod 60; m := length div 60; vol := Player1.Volume; Label1.Caption := Format('%.2d:%.2d',[m,s]); Player1.Play; end; end; Danke schonmal :) Patrick |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
nicht mit dem TBassdllPlayer. Siehe bitte BassPlayerEx. (
![]() |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Ah, danke!
Hab heute schon über 2 Stunden nach der BassPlayerEx gesucht gehabt :) |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hab es jetzt so weit:
Delphi-Quellcode:
Könnt ihr mir sagen was an dem Code falsch ist?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, BassPlayerExU, basschannelu, ComCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; TrackBar1: TTrackBar; Timer1: TTimer; Label1: TLabel; TrackBar2: TTrackBar; Label2: TLabel; Button2: TButton; procedure FormDestroy(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TrackBar2Change(Sender: TObject); procedure poschange(Sender: TObject); procedure TrackBar1Change(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; s,m:integer; Player: TBassPlayerEx; ChannelA,ChannelB: Tbasschannel; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Player := TBassPlayerEx.Create(1,self); ChannelA := Player.addChannel(100); end; procedure TForm1.Button1Click(Sender: TObject); var length,vol:integer; begin if OpenDialog1.Execute then begin ChannelA.LoadFromFile(OpenDialog1.Filename); TrackBar1.Max := ChannelA.Lied.SecLaenge; ChannelA.Lied.create(OpenDialog1.Filename); length := ChannelA.Lied.SecLaenge; s := length mod 60; m := length div 60; vol := ChannelA.Volume; Label1.Caption := Format('%.2d:%.2d',[m,s]); Label2.Caption := inttostr(vol)+'%'; ChannelA.Play; end; end; procedure TForm1.Timer1Timer(Sender: TObject); var m1,s1:integer; begin if ChannelA.isComplete then begin Trackbar1.OnChange := Nil; TrackBar1.Position := ChannelA.SecPosition; TrackBar1.OnChange := poschange; m1 := ChannelA.SecPosition div 60; s1 := ChannelA.SecPosition mod 60; Label1.Caption := Format('%.2d:%.2d',[m1,s1])+' / '+Format('%.2d:%.2d',[m,s]); end; end; procedure TForm1.TrackBar1Change(Sender: TObject); begin ChannelA.SecPosition := TrackBar1.Position; end; procedure TForm1.poschange(Sender: TObject); begin ChannelA.SecPosition := TrackBar1.Position; end; procedure TForm1.TrackBar2Change(Sender: TObject); var vol:integer; begin vol := 100 - TrackBar2.Position; ChannelA.Volume := vol; Label2.Caption := inttostr(vol)+'%'; end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(inttostr(ChannelA.Lied.SecLaenge)); end; procedure TForm1.FormDestroy(Sender: TObject); begin ChannelA.Free; Player.Free; end; end. Es kommt, wenn ich das Programm schließe, die Fehlermeldung: "Ungültiger Zeigeroperator". Zudem gibt ChannelA.Lied.SecLaenge immer 0 zurück. Danke schonmal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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 by Thomas Breitkreuz