Autor Beitrag
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 18.08.05 00:58 
wie wärs hiermit Suche bei Google VOLUME DELPHI

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 18.08.05 15:33 
dabei wird ja die systemlautstärke verändert, da kann man bissl was um schreiben, aber ist es das gleiche, wie zb bei winamp ?

angenommen, ich start meinen mp3 player und den windows media player, lasse beide abspielen und mache meinen leiser, dann sollte eigentlich der wmp immer noch so laut sein wie vorher, sonst ergibt das für mich keinen sinn :roll:
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Do 18.08.05 15:48 
sry das ich euch grad unterbrech,
ich hab das tut mal mit delphi 3 probiert und mit delphi 6
in delphi 3 kommt ein fehler das die liste das maximum überschreitet, in der 6 nicht
worin liegt da der unterschied, denn das einzigste was sich im code ändert ist das delphi3 nicht mit der variants uses anfang kann und man listbox1.count in listbox1.items.count ändern müsste oder irr ich mich da ein wenig?
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 18.08.05 16:05 
kannst du so lassen, aber es müsste count - 1 sein denke ich
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 18.08.05 16:17 
nein, für delphi 5 und höher stimmt das schon mit count
die abrage ist ja if < count
möglicherweise fängt aber bei delphi 3 die indizierung bei der listbox mit 1 und nicht null an, oder count liefert ein anderes ergebnis als bei neueren delphis ?
(das solltest du überprüfen, ich habe kein delphi 3)
der fehler kann eigentlich nur hier auftreten:
ausblenden Delphi-Quelltext
1:
     Listbox1.Selected[currentSong] := false; // das gerade gespielte lied de-selektieren					

falls currentsong einen index hätte der grösser als die anzahl der einträge hätte.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
X-0tic
Hält's aus hier
Beiträge: 3

Windoof EcksPeh
D7 EP
BeitragVerfasst: Sa 17.09.05 13:34 
Schade, mit *.pls-Dateien scheint das ja nicht so wirklich zu funzen oder doch? :x
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Sa 17.09.05 15:03 
user profile iconX-0tic hat folgendes geschrieben:
Schade, mit *.pls-Dateien scheint das ja nicht so wirklich zu funzen oder doch? :x
meinst du damit dass man sich nicht zu einem shoutcast stream verbinden kann ?
oder hast du probleme bei der implementierung des pls-formats ? :gruebel:

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
X-0tic
Hält's aus hier
Beiträge: 3

Windoof EcksPeh
D7 EP
BeitragVerfasst: Sa 17.09.05 20:07 
Ja, ich meine, dass es damit wohl nicht möglich ist zu einem ShoutCastServer zu verbinden oder?
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Sa 17.09.05 23:03 
user profile iconX-0tic hat folgendes geschrieben:
Ja, ich meine, dass es damit wohl nicht möglich ist zu einem ShoutCastServer zu verbinden oder?

nein, das ist mit dem TMediaPlayer leider nicht möglich. der TMediaPlayer kann auch keine dateien öffnen, die gerade von einem anderen Programm geschrieben werden (wie z.b. mein shoutcast-ripper Suche in: Delphi-Forum MP3PROXY).
es geht aber mit den windows acm subsystem, allerdings muss zuerst der acm mp3 codec von fraunhofer institut installiert sein (ist bei WMP 10 dabei).
eine unit dafür findest du auf www.thaddy.com

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
X-0tic
Hält's aus hier
Beiträge: 3

Windoof EcksPeh
D7 EP
BeitragVerfasst: So 18.09.05 01:06 
Irgendwie UfFfF.... Danke.
MKX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 95

Win XP, Ubuntu Linux 7.02
Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Do 29.09.05 20:53 
Das Tutorial hat mir sehr geholfen!
Aber wenn der Mediaplayer den nächsten Eintrag der Playliste abspielen soll endet das mit der Exception: Der Index der Liste überschreitet das Maximum(0) :evil: Was kann ich machen, damit das Programm funktioniert?

[Edit]Der selbe fehler wie bei allen anderen. Was kann man trotz Delphi3 machen?
Krumnix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Do 13.10.05 16:30 
So, hier mal was für die Lautstärke.

!!Ändert die Lautstärke über WAV, was WinAmp auch macht. Deswegen meint man, das der
Rest vom System weiterhin gleichlaut bleibt, weil man da ja ggf. keine Sounds über WAV abspielt. Der Player hier arbeitet aber über WAV.!!

Liefert die im System eingestellte Lautstärke von WAV zurück:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function TForm1.GetWaveVolume(var GVolume: word): Boolean;
var WaveOutCaps: TWAVEOUTCAPS;
    Volume: DWORD; // max. is 65535
begin
 Result := False;
 if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
  if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
   begin
    Result := WaveOutGetVolume(WAVE_MAPPER, @Volume) = MMSYSERR_NOERROR;
    GVolume := LoWord(Volume);
   end;
end;


Setzt die Lautstärke von WAV (ACHTUNG: nur bis max. 65535!!)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function TForm1.SetWaveVolume(const AVolume: DWORD): Boolean;
var WaveOutCaps: TWAVEOUTCAPS; // max. is 65535
begin
 Result := False;
 if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
  if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
   Result := WaveOutSetVolume(WAVE_MAPPER, AVolume) = MMSYSERR_NOERROR;
end;


Aufruf der Funktionen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
ScrollBar1.Min := 0;
ScrollBar1.Max := 65535
if GetWaveVolume(Lautstaerke) then
  ScrollBar1.Position := Lautstaerke;


ausblenden Delphi-Quelltext
1:
SetWaveVolume(ScrollBar1.Position);					

_________________
Kommt Zeit kommt Rat.... In der Tat
Ich kann mehr auswendig als ich mir merken kann.
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 13.10.05 16:41 
uses mmsystem nicht vergessen.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Fisheye
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 08.01.06 05:52 
Ich wolllte das Programm nochmal unter Delphi 2005 basteln.

// Edit : Hat sich erledigt :)

Ich habe ein Problem mit der Drag und Drop funkiton.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Procedure TForm1.WMDropFiles (Var aMsg: tMessage);
Var
  Idx, Size, FileCount: Integer;
  Filename: pChar;
Begin
  Inherited;
  FileCount := DragQueryFile (aMsg.WParam, $FFFFFFFFnil255);
  For Idx := 0 To FileCount -1 Do Begin
    Size := DragQueryFile (aMsg.WParam, Idx, nil0) + 1;
    Filename := StrAlloc (Size);
    If DragQueryFile (aMsg.WParam, Idx, Filename, Size) = 1 Then  { nothing }
    else  AddToPlayList (pChar (Filename));
    StrDispose (Filename);
  End;
  DragFinish (aMsg.WParam);
End;


Die Procedure steht unter Public, Drag und Drop ist akzeptuert und die ShellApi klausel ist auch drin.

Ich bekommt folgende Fehler

[Fehler] Unit1.pas(42): E2410 Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig

[Fehler] Unit1.pas(48): E2003 Undefinierter Bezeichner: 'StrAlloc'

[Fehler] Unit1.pas(49): E2010 Inkompatible Typen: 'StringBuilder' und 'PWideChar'

[Fehler] Unit1.pas(50): E2010 Inkompatible Typen: 'string' und 'PWideChar'

Wodran könnt das liegen ?
death-adders
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 82

Vista
Turbo Delphi Explorer
BeitragVerfasst: Sa 14.01.06 12:00 
Hi @ all, ich habe das wie im tutorial beschrieben gemacht, is ja auch ganz simpel, so sieht mein quelltext aus:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer;

type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  mediaplayer1.FileName := 'C:\mugge';
  mediaplayer1.Open;
end;

end.



Aber mein klick auf button 1 kommt folgende Fehlermeldung:

user defined image
papa_s
Hält's aus hier
Beiträge: 1

WIN XP, WIN 2000,
Delphi 7 Personal
BeitragVerfasst: So 22.01.06 22:36 
Titel: Den Titel Stoppen
Hallo !
Erstmal Danke für das Tutorial ! Bin Newbie im Programmieren, aber das war genau das was ich suchte.
Jetzt meine Frage : Wenn der Button CLick den Titel startet, wie kann ich den dann per weiterem Klick auf den Button Stoppen ? Also :
1. Klick Start *.mp3
2. Klick Stopp *.mp3

Wäre schön, wenn mir jemand einfach helfen könnte !

mfg

papa_s
retnyg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 25.01.06 11:23 
Titel: Re: Den Titel Stoppen
@death-adders: 'C:\mugge' ist ein ordner oder ? du musst einen gültigen DATEInamen übergeben, der mit .mp3 endet

user profile iconpapa_s hat folgendes geschrieben:
Hallo !
Erstmal Danke für das Tutorial ! Bin Newbie im Programmieren, aber das war genau das was ich suchte.
Jetzt meine Frage : Wenn der Button CLick den Titel startet, wie kann ich den dann per weiterem Klick auf den Button Stoppen ? Also :
1. Klick Start *.mp3
2. Klick Stopp *.mp3

Wäre schön, wenn mir jemand einfach helfen könnte !

mfg

papa_s

Mediaplayer1.stop;

übrigens: wenn du mediaplayer1. schreibst und kurz wartest, klappt eine liste der möglichen Befehle auf, die du mit den cursortasten durchschauen kannst.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
death-adders
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 82

Vista
Turbo Delphi Explorer
BeitragVerfasst: Fr 27.01.06 16:03 
Titel: Re: Den Titel Stoppen
user profile iconretnyg hat folgendes geschrieben:
@death-adders: 'C:\mugge' ist ein ordner oder ? du musst einen gültigen DATEInamen übergeben, der mit .mp3 endet

user profile iconpapa_s hat folgendes geschrieben:
Hallo !
Erstmal Danke für das Tutorial ! Bin Newbie im Programmieren, aber das war genau das was ich suchte.
Jetzt meine Frage : Wenn der Button CLick den Titel startet, wie kann ich den dann per weiterem Klick auf den Button Stoppen ? Also :
1. Klick Start *.mp3
2. Klick Stopp *.mp3

Wäre schön, wenn mir jemand einfach helfen könnte !

mfg

papa_s

Mediaplayer1.stop;

übrigens: wenn du mediaplayer1. schreibst und kurz wartest, klappt eine liste der möglichen Befehle auf, die du mit den cursortasten durchschauen kannst.


OK, es hat gefuntzt, das mit dem pfad war schon richtig, es fehlte nur das ".mp3" Aber andere Formate unterstützt der mediaplayer nicht?
Silence
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP Prof
Delphi 7
BeitragVerfasst: Mi 22.03.06 18:18 
Hi, ich hab ein problem mit der playliste und zwar wenn ich auf eine datei die da drinnen ist klicke dann passiert rein garnichts. ich habs genau so gemacht wie es im tutorial stand
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer, ShellApi;

type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    Procedure AddToPlayList(s:string);
    procedure PlayFile(s:string);
    Procedure WMDropFiles (Var aMsg: tMessage);  message WM_DROPFILES;
  end;

var
  Form1: TForm1;
  playList: TStringList;

implementation

{$R *.dfm}

Procedure TForm1.WMDropFiles (Var aMsg: tMessage);
Var
  Idx, Size, FileCount: Integer;
  Filename: pChar;
Begin
  Inherited;
  FileCount := DragQueryFile (aMsg.WParam, $FFFFFFFFnil255);
  For Idx := 0 To FileCount -1 Do Begin
    Size := DragQueryFile (aMsg.WParam, Idx, nil0) + 1;
    Filename := StrAlloc (Size);
    If DragQueryFile (aMsg.WParam, Idx, Filename, Size) = 1 Then  { nothing }
    else  AddToPlayList (pChar (Filename));
    StrDispose (Filename);
  End;
  DragFinish (aMsg.WParam);
End;

Procedure TForm1.AddToPlayList(s:string);
begin
   playList.Add(s);
   ListBox1.Items.Add(s);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  mediaplayer1.FileName := 'F:\Musik\bloodhound gang\bloodhound gang - your pretty when im drunk.mp3';
  mediaplayer1.Open;
  mediaplayer1.play;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   DragAcceptFiles (Handle, True);   // drag und drop akzeptieren
   playList := TStringList.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
   playList.Free;
end;

procedure TForm1.PlayFile(s:string);
begin
   mediaplayer1.Close;
   mediaplayer1.FileName := s;
   mediaplayer1.Open;
   mediaplayer1.play;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var i : integer;
begin
  for i := 0 to listbox1.Count - 1 do
    if listbox1.Selected[i] then break;
  if fileexists(Playlist.Strings[i]) then PlayFile(Playlist.Strings[i]);
end;

end.


wo liegt denn da der fehler?
Death666Metal
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 22

Win XP
Delphi 7/html/php/flash/basic/c++
BeitragVerfasst: Fr 26.05.06 21:59 
Titel: Automatisches Abspielen einer MP3 beim Öffnen von Programm?
Hi!
Ma ne Frage. Wie schreibt man das automatisch beim Öffnen der "programm.exe" eine MP3-Datein abgespielt wird?
Muss man da im Objekt-Inspektor bei der TForm1 irgendwo etwas eingeben oder also procedure oder???
Ich hoffe ihr versteht was ich meine....
Jetzt schon RIESEN THX!!!!!