AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sound Visualisierung
Thema durchsuchen
Ansicht
Themen-Optionen

Sound Visualisierung

Ein Thema von ebber · begonnen am 2. Jan 2007 · letzter Beitrag vom 7. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#1

Sound Visualisierung

  Alt 2. Jan 2007, 17:41
Hallo,

ich möchte 2 ProgressBars, die einen umso größeren Fortschritt haben umso Lauter der momentane Sound ist. Eine für Links und eine für Rechts.
Ich habe das mal mit der bass.dll probiert aber ich habs nicht hinbekommen.

Pls help

MfG
  Mit Zitat antworten Zitat
Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#2

Re: Sound Visualisierung

  Alt 4. Jan 2007, 02:58
Hi

Es ist sehr einfach wen du die bass.dll benutzt.

Delphi-Quellcode:

Play_Channel:= BASS_StreamCreateFile(false, PChar(Filename), 0, 0, BASS_STREAM_AUTOFREE) ;

{----------------------------------- Get VU -----------------------------------}

Procedure Get_VULevel(var L, R : Integer);
var VUCH : DWORD; L_VU, R_VU : integer;
begin
  VUCH := BASS_ChannelGetLevel(Play_Channel); //from 0 (silent) to 32768 (max)
   L_VU := LOWORD(VUCH);
   R_VU := HIWORD(VUCH);
  if (BASS_ChannelIsActive(Play_Channel) = BASS_ACTIVE_PLAYING) then
   begin
    L:= L_VU;
    R:= R_VU;
   end else
  begin
    L:= 0;
    R:= 0;
  end;
end;



//dann mit nem teimer

var L, R : integer
begin
 VULevel(L,R);

  ProgressBars_L.Position:= R;
  ProgressBars_R.Position := L;
End.
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#3

Re: Sound Visualisierung

  Alt 5. Jan 2007, 11:41
Danke für die Antwort.

Ich habe da nur noch ein kleines Problem.
Wie muss ich die 1. Zeile einbauen ?
  Mit Zitat antworten Zitat
Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#4

Re: Sound Visualisierung

  Alt 6. Jan 2007, 05:02
Delphi-Quellcode:
var Play_Channel : DWORD;


Procedure PlayFile(Filename : String);
begin
  BASS_StreamFree(Play_Channel);
  Play_Channel:= BASS_StreamCreateFile(false, PChar(Filename), 0, 0, BASS_STREAM_AUTOFREE) ;
  BASS_ChannelPlay(Play_Channel l, true);
End
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#5

Re: Sound Visualisierung

  Alt 6. Jan 2007, 13:49
Vielleicht bin ich einfach nur zu blöd, aber ich bekomms immer noch nicht hin.

Ich hab das jetzt so :
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bass, ExtCtrls, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    ProgressBars_L: TProgressBar;
    ProgressBars_R: TProgressBar;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Play_Channel : DWORD;


implementation

{$R *.dfm}




Procedure PlayFile(Filename : String);
begin
  BASS_StreamFree(Play_Channel);
  Play_Channel:= BASS_StreamCreateFile(false, PChar(Filename), 0, 0, BASS_STREAM_AUTOFREE) ;
  BASS_ChannelPlay(Play_Channel l, true);
End;


Procedure Get_VULevel(var L, R : Integer);
var VUCH : DWORD; L_VU, R_VU : integer;
begin
  VUCH := BASS_ChannelGetLevel(Play_Channel); //from 0 (silent) to 32768 (max)
   L_VU := LOWORD(VUCH);
   R_VU := HIWORD(VUCH);
  if (BASS_ChannelIsActive(Play_Channel) = BASS_ACTIVE_PLAYING) then
   begin
    L:= L_VU;
    R:= R_VU;
   end else
  begin
    L:= 0;
    R:= 0;
  end;
end;



procedure TForm1.Timer1Timer(Sender: TObject);
var L, R : integer;
begin
VULevel(L,R);

  ProgressBars_L.Position:= R;
  ProgressBars_R.Position := L;

end;

end.

Kann mir pls jemand sagen was das falsch ist und wie es richtig geht.

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
878 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Sound Visualisierung

  Alt 6. Jan 2007, 14:16
Hast du vor dem Abspielen ein einmaliges Bass_init(-1,44100,0,handle,0); oder was vergleichbares? Und hast du max bei den Progressbars auf nen vernünftigen Wert (32768) eingestellt?

Denn dann funktioniert das bei mir.
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#7

Re: Sound Visualisierung

  Alt 6. Jan 2007, 14:39
Die Progessbar hatte ich auf 32768, aber das andere nicht.
Kannst du vielleicht mal den ganzen Code von der Unit reinschreiben pls ?
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
878 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Sound Visualisierung

  Alt 6. Jan 2007, 14:44
Pack meine Zeile einfach ins OnCreate der Form rein, dann gehts. Die sorgt dafür, dass die bass.dll initialisiert wird. Ohne dem spielt die nämlich gar nichts ab. Oder hörst du schon was bei deinem Programm?
  Mit Zitat antworten Zitat
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#9

Re: Sound Visualisierung

  Alt 6. Jan 2007, 14:54
Die Zeile hab ich da rein getan gehabt, nur kommen noch 2 Fehler,
die leider meine Kentnisse überfordern.



BASS_ChannelPlay(Play_Channel l, true); Expexted ) but received an identifier

VULevel(L,R); undeclared identifier


Und falls meine Frage unverständlich gestellt war: Mein Programm soll nichts abspielen sondern, die Progressbars sollen den Sound anzeigen der gerade aus den Lautsprechern kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
878 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Sound Visualisierung

  Alt 6. Jan 2007, 15:56
ich dachte, das wäre bei mir ein Copy&Paste-Fehler gewesen: Die eine Zeile muss so heißen:
BASS_ChannelPlay(Play_Channel, true); und schau dir mal an, wie man VULevel(L,R); unter Umständen so anpassen kann, dass die im Quellcode zu findende Prozedur Get_VULevel aufgerufen wird...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr.
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