Delphi-PRAXiS
Seite 29 von 34   « Erste     19272829 3031     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Komponente] Bass Player Komponente: TBassDLLPlayer (+Demos) (https://www.delphipraxis.net/46916-%5Bkomponente%5D-bass-player-komponente-tbassdllplayer-demos.html)

Nuclear-Ping 16. Feb 2008 14:37

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.

Cyberbob 16. Feb 2008 15:47

Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
 
lad dir auch die BASS.DLL neu runter, vielleicht wurde sie nicht richtig entpackt

busybyte 16. Feb 2008 19:10

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:
//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;
Ein geniales Teil.Ich würde gerne Versuchen es mit OpenGl zu kombinieren,
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:

Blackbandit 26. Mär 2008 21:41

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

turboPASCAL 26. Mär 2008 22:45

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.

gmc616 27. Mär 2008 03:48

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:

Zitat von Brutus86
Der Prozedureinsprung "BASS_ChannelGetLength" wurde in der DLL "bass.dll" nicht gefunden.

Damit hatte ich letztens auch Schwierigkeiten, bis ich festgestellt habe, das die Bass.DLL von Version zu Version ihre Einspungpunkte ändert.

Welche Bass.DLL-Version verwendest du?
Schon mal ihn das Manual der Bass.Dll geschaut?

Zitat:

Zitat von Blackbandit
ich wollte mal fragen, ob es irgend wie möglich ist den StreamInfo
in einem label auszugeben ( Lauftext wie z.b in WinAmp ).

Ja ist möglich.
Zitat:

Zitat von Blackbandit
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 :)

Nein, das Problem kannst/musst du selbst lösen.

PatrickB 1. Apr 2008 23:16

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:
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;
Wie kann ich jetzt einen 2. Channel erstellen damit ich ein weiteres Lied gleichzeitig laufen lassen kann?

Danke schonmal :)

Patrick

turboPASCAL 2. Apr 2008 00:15

Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
 
nicht mit dem TBassdllPlayer. Siehe bitte BassPlayerEx. ( http://www.delphipraxis.net/internal...=797072#797072 )

PatrickB 2. Apr 2008 00:28

Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
 
Ah, danke!
Hab heute schon über 2 Stunden nach der BassPlayerEx gesucht gehabt :)

PatrickB 2. Apr 2008 14:08

Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
 
Hab es jetzt so weit:

Delphi-Quellcode:
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.
Könnt ihr mir sagen was an dem Code falsch ist?
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.
Seite 29 von 34   « Erste     19272829 3031     Letzte »    

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