Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Witam. Jezeli chcerz wiedziec jak zrobic swoj wlasny mini odtwarzacz Mp3, Wav itd. w Delphi 7 , czytaj dalej

1. Na forme wrzycamy komponenty:

Button x4 //zakladka standard

Media Player x1 //zakladka system

Open Dialog x1 //zakladka dialogs

2. Button1 nazywamy 'Otworz piosenke', Button2 '[ >', Button3 '| |' , Button4 '[ ]'

U mnie to wyglada tak:

mp3gf3.png , oczywiscie nie bedzie widac komponentow mediaplayer i open dialog

3. Na Button 1 czyli Otworz piosenke wrzucamy nastepujacy kod:

To jest ukryta treść, proszę

4. Na button2 ( [> ) kod:

To jest ukryta treść, proszę

5. Na button3 ( | | ) kod:

To jest ukryta treść, proszę

5. A na button4 kod:

To jest ukryta treść, proszę

6. W Object Inspector opcje Visible komponentu MediaPlayer dajemy na False

 

I to wszystko, nie bylo trudno co?

Pozdro

PolandMS

 

[X]Login Serwer - 100%

[X]World Serwer - 100%

[..]Dropy z potworkow - 48%

[..]Sklepy - 13%

[X]Warp NPC - 100%

PolandMS - Postacie

Job: SuperGM

Level: 255

Nick: [GM]Swirek

Opublikowano

dodaj:

Głośność

playliste

stan (np. przewinę se do połowy piosenki)

Układ graficzny a nie "[>" pisane na przyciskach

następna/poprzednia piosenka

Tytuł lecącej piosenki

Czas piosenki

 

I będę używał zamiast winampa.

To co opisałeś w googlach łatwo znaleźć :]

 

h***.com.pl się ma co?

A dzięki komu?

no?

Dzięki mnie!

bez gif.

Opublikowano

Dlatego to sie nazywa mini player, pracuje nad glosnoscia, spokojnie...

PolandMS

 

[X]Login Serwer - 100%

[X]World Serwer - 100%

[..]Dropy z potworkow - 48%

[..]Sklepy - 13%

[X]Warp NPC - 100%

PolandMS - Postacie

Job: SuperGM

Level: 255

Nick: [GM]Swirek

  • 2 miesiące temu...
Opublikowano

Chetnie bym stworzyl taki odtwarzacz, podajcie skrypty na przewijanie, czas i glosnosc a wszystko zrobie + Dobra grafika :P

 

PS. No i wybor kilku piosenek by sie przydal (czyt. playlista)

17yrsqa1utxm_2daf7a3.png

Opublikowano
Chetnie bym stworzyl taki odtwarzacz, podajcie skrypty na przewijanie, czas i glosnosc a wszystko zrobie + Dobra grafika tongue.gif

 

 

lol to wszystko mam .Widać ze nie czytałeś żadnych porządnych kursów jak kompendium programisty z 4programmers.net

 

 

to może dam z kompendium parę

 

unit MainFrmU;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

MPlayer, StdCtrls, ExtCtrls, ComCtrls, Menus, Buttons, MMSystem, Registry,

ToolWin, ImgList;

 

type

TMainFrm = class(TForm)

HomeMenu: TMainMenu;

File1: TMenuItem;

FileOpen: TMenuItem;

N1: TMenuItem;

StatusB: TStatusBar;

Open: TOpenDialog;

PP: TPanel;

TextPanel: TPanel;

Scroll: TScrollBar;

Player: TMediaPlayer;

Timer: TTimer;

Sound: TTrackBar;

Image1: TImage;

Exit: TMenuItem;

Close: TMenuItem;

Widok1: TMenuItem;

FullS: TMenuItem;

N2: TMenuItem;

OnTop: TMenuItem;

Bar: TToolBar;

Play: TToolButton;

Pause: TToolButton;

ImageList: TImageList;

Stop: TToolButton;

About1: TMenuItem;

procedure FileOpenClick(Sender: TObject);

procedure ScrollScroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

procedure TimerTimer(Sender: TObject);

procedure PlayerNotify(Sender: TObject);

procedure SoundChange(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Image1Click(Sender: TObject);

procedure PPClick(Sender: TObject);

procedure CloseClick(Sender: TObject);

procedure FullSClick(Sender: TObject);

procedure OnTopClick(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure PauseClick(Sender: TObject);

procedure PlayClick(Sender: TObject);

procedure StopClick(Sender: TObject);

procedure About1Click(Sender: TObject);

private

Button: TMPBtnType;

procedure ShowText(Text: String);

 

public

FName : String;

Tx : String;

end;

 

var

MainFrm: TMainFrm;

 

implementation

 

uses BigFrmU;

 

{$R *.DFM}

 

 

procedure TMainFrm.ShowText(Text: String);

begin

{

Procedura, która wyświetla w Panelu tekst.

}

TextPanel.Caption := Text;

end;

 

procedure TMainFrm.FileOpenClick(Sender: TObject);

 

begin

try

 

if Open.Execute then

 

 

FName := Open.FileName; //Przypisanie ścieżki zmiennej

 

Player.FileName := FName; //Przypisanie odtwarzaczowi zmiennej

Player.Open; // Otwarcie filmu

 

Player.Display := PP; { Przypisanie odtwarzaczowi obszaru

wyświetlania jako Panel }

Player.DisplayRect := PP.ClientRect; { Dopasowanie rozmiarów

filmu do rozmiarów Panelu }

 

Scroll.Position := 0; //Wskaźnik na 0

 

Tx := ExtractFileName(Player.FileName); //Odłączenie nazwy pliku od ścieżki

ShowText(Tx); // i wyświetlenie jej w Panelu "TextPanel"

Caption := Tx;

 

except

on EMCIDeviceError do

raise Exception.Create(Format(

'Nie mogę otworzyć pliku o rozszerzeniu %s. Sprawdź, czy plik nie '+

'jest uszkodzony lub czy prawidłowy jest jego format danych.',

[ExtractFileExt(Player.FileName)]));

end;

 

end;

 

procedure TMainFrm.ScrollScroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

begin

{

Pozycja odtwarzacza równać się będzie pozycji Scrolla.

Jeżeli zmieni się pozycja Scrolla, film zostanie "przewinięty"

}

Player.Position := Scroll.Position;

end;

 

procedure TMainFrm.TimerTimer(Sender: TObject);

begin

{ j/w }

Scroll.Position := Player.Position;

end;

 

procedure TMainFrm.PlayerNotify(Sender: TObject);

begin // jeżeli film się skończy

if Player.NotifyValue = nvSuccessful then // Jeżeli operacja się zakończy

begin

Timer.Enabled := False; // wyłączenie Timera

Scroll.Position := Scroll.Position; //Scroll na tej samej pozycji

Player.Stop;

 

StopClick(Sender);

end;

 

end;

 

procedure TMainFrm.SoundChange(Sender: TObject);

begin //Ustawienie głośności...

case Sound.Position of

1:

WaveOutSetVolume(0, $20002000); {2000}

2:

WaveOutSetVolume(0, $60006000); {6000}

3:

WaveOutSetVolume(0, $80008000); {8000}

4:

WaveOutSetVolume(0, $90009000); {9000}

5:

WaveOutSetVolume(0, $FFFFFFFF); {maksymalna głośność}

end;

end;

 

procedure TMainFrm.FormCreate(Sender: TObject);

var

Reg : TRegistry;

Key : Boolean;

I : Integer;

S : String;

begin

// wczytaj wartości z rejestru

 

Reg := TRegistry.Create;

try

Key := Reg.OpenKey(

'Software\Player', False);

if Key then

begin

Top := Reg.ReadInteger('Top');

Left := Reg.ReadInteger('Left');

OnTop.Checked := Reg.ReadBool('StayOnTop');

end else

OnTop.Checked := False;

finally

Reg.Free;

end;

end;

 

procedure TMainFrm.Image1Click(Sender: TObject);

begin

Sound.Position := 1; // Wyciszenie

end;

 

procedure TMainFrm.PPClick(Sender: TObject);

begin

try

Player.Pause;

ShowText('Wciśnięto pauzę...');

except

ShowText('Brak filmu...');

end;

end;

 

procedure TMainFrm.CloseClick(Sender: TObject);

begin

Player.Close; // Zamknięcie filmu

ShowText('Film został zamknięty.'); // Wyświetlenie tekstu

Caption := 'Player';

end;

 

procedure TMainFrm.FullSClick(Sender: TObject);

begin

 

FullForm.BorderStyle := bsNone; // ukryj pasek

FullForm.WindowState := wsMaximized; // maksymalizacja okna

Player.Display := FullForm.FullPanel;// obraz na Panelu

with FullForm.FullPanel do // rozmiar panelu dopasowany do rozmiaru filmu

Player.DisplayRect := Rect(0, 0, Width, Height);

 

OnTop.Checked := False;

FullForm.ShowModal; // Wyświetlenie okna 2

end;

 

procedure TMainFrm.OnTopClick(Sender: TObject);

begin

{ Zawrze na wierzchu }

OnTop.Checked := not OnTop.Checked;

if OnTop.Checked = True then

FormStyle := fsStayOnTop;

end;

 

procedure TMainFrm.FormDestroy(Sender: TObject);

var

Reg : TRegistry;

begin

Reg := TRegistry.Create;

 

try

Reg.OpenKey(

'Software\Player', True);

// zapisz pozycję okna

Reg.WriteInteger('Top', Top);

Reg.WriteInteger('Left', Left);

// zapisz pozycję "StayOnTop"

Reg.WriteBool('StayOnTop',OnTop.Checked);

finally

Reg.Free;

end;

end;

 

procedure TMainFrm.PauseClick(Sender: TObject);

begin // pauza

try

Player.Pause; // zastopuj odtwarzanie filmu

Play.Down := False; // przyciski "odciśnięte"

Stop.Down := False;

Pause.Down := True;

ShowText('Wciśnięto pauzę...'); // zmień tekst

except // wyjątek

Pause.Down := False;

raise Exception.Create(

'Film nie jest odtwarzany!');

end;

end;

 

procedure TMainFrm.PlayClick(Sender: TObject);

begin

try

Scroll.Max := Player.Length; //Przypisanie maksymalnej wartości do długości filmu

Timer.Enabled := True; // Włączenie Timera

ShowText('Trwa odtwarzanie...');

Player.Play;

Play.Down := True;

Stop.Down := False;

Pause.Down := False;

except

Play.Down := False;

raise Exception.Create(

'Najpierw musisz wybrać film do otwarcia!');

end;

end;

 

procedure TMainFrm.StopClick(Sender: TObject);

begin

try

Player.Stop;

Play.Down := False;

Pause.Down := False;

Stop.Down := True;

ShowText('Zatrzymano film...');

except

Stop.Down := False;

raise Exception.Create(

'Nie można wyłączyć filmu, ponieważ nie jest on odtwarzany!');

end;

end;

 

procedure TMainFrm.About1Click(Sender: TObject);

begin

MessageDlg(

' Player v. BETA '+#13+#13+

'Autor: Adam Boduch '+#13+

'E-mail: [email protected] '+ #13+

' http://4programmers.net',mtInformation,

[mbOK], 0);

end;

 

end.

 

cały kod odtwarzacza

Opublikowano

Szczerze ? Nie pierwszy rozdzial :)

A w ktorym o tym jest ? :P

 

A co mi daje kod ? Wkleje i masa bledow ze nie ma TForm1 etc. ...

17yrsqa1utxm_2daf7a3.png

Opublikowano
procedure TMainFrm.FormDestroy(Sender: TObject);

 

co to ci mówi ??? że masz w obiect inspektorze formy masz ondestroy i tam klejasz kod

var

Reg : TRegistry;

begin

Reg := TRegistry.Create;

 

try

Reg.OpenKey(

'Software\Player', True);

// zapisz pozycję okna

Reg.WriteInteger('Top', Top);

Reg.WriteInteger('Left', Left);

// zapisz pozycję "StayOnTop"

Reg.WriteBool('StayOnTop',OnTop.Checked);

finally

Reg.Free;

end;

end;

 

i tak mdlaej z resztą

Opublikowano
co to ci mówi ??? że masz w obiect inspektorze formy masz ondestroy i tam klejasz kod

 

Nie klejam

 

To jest ukryta treść, proszę

 

Wkleilem ten kod z Twojego pierwszego postu ku mnie, do File - New - Application, 2 razy w Form, Ctrl+a , delete i ctrl+v...

 

Nic wiecej i nic mniej

17yrsqa1utxm_2daf7a3.png

×
×
  • Dodaj nową pozycję...