Avatar billede guskii Nybegynder
15. januar 2002 - 21:26 Der er 19 kommentarer og
1 løsning

Problemer med mediaplayer

Hejsa
Jeg har lavet en mediaplayer i mit program i Delphi 3.
jeg har så valgt over i FileName at filen ligger i C:\\Projektopgave\\Elektronik.wav
men så virker programmet selvfølgelig ikke hvis det ligger på d drevet eller andet. Hvad skal man skrive for at den finder elektronik.wav i samme mappe som exe filen
Avatar billede dkn Nybegynder
15. januar 2002 - 21:29 #1
extractfilepath(Application.exename)+\'elektronik.wav\';
Avatar billede guskii Nybegynder
15. januar 2002 - 21:33 #2
hvor skal jeg skrive den kode jeg synes ikke det virker hvis jeg skriver den i FileName i højre side
Avatar billede dkn Nybegynder
15. januar 2002 - 21:34 #3
mediaplayer1.filename :=  extractfilepath(Application.exename)+\'elektronik.wav\'; 
Avatar billede guskii Nybegynder
15. januar 2002 - 21:38 #4
skal jeg ikke bare dobbeltklikke på mediaplayeren og så skrive det der. Det virker sq ik
Avatar billede dkn Nybegynder
15. januar 2002 - 21:39 #5
nej. på din forms oncreate event skriver du:
mediaplayer1.filename :=  extractfilepath(Application.exename)+\'elektronik.wav\'; 
Avatar billede guskii Nybegynder
15. januar 2002 - 21:42 #6
jeg har flere forskellige mediaplayer.
MediaPlayer1
og
MediaPlayer2
kan det være derfor det ikke virker

Avatar billede guskii Nybegynder
15. januar 2002 - 21:43 #7
unit Unit5;

interface

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

type
  Telektronik = class(TForm)
    GroupBox1: TGroupBox;
    Button1: TButton;
    CheckBox1: TCheckBox;
    Image1: TImage;
    GroupBox2: TGroupBox;
    Image2: TImage;
    GroupBox3: TGroupBox;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Memo1: TMemo;
    Memo2: TMemo;
    MediaPlayer1: TMediaPlayer;
    MediaPlayer2: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    billedenr : Integer;
  end;

var
  elektronik: Telektronik;

implementation

{$R *.DFM}

procedure Telektronik.Button1Click(Sender: TObject);
begin
    elektronik.Close;
end;

procedure Telektronik.BitBtn3Click(Sender: TObject);
begin
  if CheckBox1.State = cbChecked then CheckBox1.State := cbUnchecked;
    label1.Caption := \'Hvad er elektronik ?\';
    Memo1.Visible := True;
    MediaPlayer2.Rewind;
    MediaPlayer1.Play;
end;

procedure Telektronik.BitBtn4Click(Sender: TObject);
begin
    if CheckBox1.State = cbChecked then CheckBox1.State := cbUnchecked;
    Label1.Caption := \'Uddannelsen\';
    Memo1.Visible := False;
    MediaPlayer1.Rewind;
    MediaPlayer2.Play;
end;


procedure Telektronik.BitBtn2Click(Sender: TObject);
begin
  MediaPlayer2.Play; 
end;

procedure Telektronik.BitBtn1Click(Sender: TObject);
begin
  MediaPlayer1.Play;
end;

procedure Telektronik.BitBtn8Click(Sender: TObject);
begin
    MediaPlayer2.Rewind;
end;

procedure Telektronik.BitBtn7Click(Sender: TObject);
begin
  MediaPlayer1.Rewind;
end;

procedure Telektronik.FormShow(Sender: TObject);
begin
    MediaPlayer1.Play;
end;

procedure Telektronik.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    MediaPlayer1.Rewind;
    MediaPlayer2.Rewind;
end;

procedure Telektronik.CheckBox1Click(Sender: TObject);
begin
    MediaPlayer1.Pause;
    MediaPlayer2.Pause;
end;


procedure Telektronik.FormCreate(Sender: TObject);
begin
mediaplayer1.filename := extractfilepath(Application.exename)+\'elektronik.wav\';
mediaplayer2.filename := extractfilepath(Application.exename)+\'Uddannelse.wav\';
billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn6Click(Sender: TObject);
begin
billedenr := billedenr + 1;
if billedenr = 3 then billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn5Click(Sender: TObject);
begin
billedenr := billedenr - 1;
if billedenr = 0 then billedenr := 2;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

end.
Avatar billede dkn Nybegynder
15. januar 2002 - 21:46 #8
hmm du siger lyden ligger i dit program dir...
Prøv lige det her på en onclick:
showmessage(extractfilepath(Application.exename)+\'elektronik.wav\');
Avatar billede guskii Nybegynder
15. januar 2002 - 21:48 #9
onclick på formen eller mediaplayerne
Avatar billede dkn Nybegynder
15. januar 2002 - 21:51 #10
hvad for nogle fejl får du når du compiler?
Avatar billede guskii Nybegynder
15. januar 2002 - 21:53 #11
Application.CreateForm(Tprogrammering, programmering);

fejl i denne linje
Avatar billede guskii Nybegynder
15. januar 2002 - 21:56 #12
der er vel et eller andet der går i konflikt med hinanden eller hva
Avatar billede guskii Nybegynder
15. januar 2002 - 22:10 #13
unit Unit5;

interface

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

type
  Telektronik = class(TForm)
    GroupBox1: TGroupBox;
    Button1: TButton;
    CheckBox1: TCheckBox;
    Image1: TImage;
    GroupBox2: TGroupBox;
    Image2: TImage;
    GroupBox3: TGroupBox;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Memo1: TMemo;
    Memo2: TMemo;
    MediaPlayer1: TMediaPlayer;
    MediaPlayer2: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    billedenr : Integer;
  end;

var
  elektronik: Telektronik;

implementation

{$R *.DFM}

procedure Telektronik.Button1Click(Sender: TObject);
begin
    elektronik.Close;
end;

procedure Telektronik.BitBtn3Click(Sender: TObject);
begin
  if CheckBox1.State = cbChecked then CheckBox1.State := cbUnchecked;
    label1.Caption := \'Hvad er elektronik ?\';
    Memo1.Visible := True;
    MediaPlayer2.Rewind;
    MediaPlayer1.Play;
end;

procedure Telektronik.BitBtn4Click(Sender: TObject);
begin
    if CheckBox1.State = cbChecked then CheckBox1.State := cbUnchecked;
    Label1.Caption := \'Uddannelsen\';
    Memo1.Visible := False;
    MediaPlayer1.Rewind;
    MediaPlayer2.Play;
end;


procedure Telektronik.BitBtn2Click(Sender: TObject);
begin
  MediaPlayer2.Play;
end;

procedure Telektronik.BitBtn1Click(Sender: TObject);
begin
  MediaPlayer1.Play; 
end;

procedure Telektronik.BitBtn8Click(Sender: TObject);
begin
    MediaPlayer2.Rewind;
end;

procedure Telektronik.BitBtn7Click(Sender: TObject);
begin
  MediaPlayer1.Rewind;
end;

procedure Telektronik.FormShow(Sender: TObject);
begin
    MediaPlayer1.Play;
end;

procedure Telektronik.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    MediaPlayer1.Rewind;
    MediaPlayer2.Rewind;
end;

procedure Telektronik.CheckBox1Click(Sender: TObject);
begin
    MediaPlayer1.Pause;
    MediaPlayer2.Pause;
end;


procedure Telektronik.FormCreate(Sender: TObject);
begin
MediaPlayer1.filename := extractfilepath(Application.exename)+ \'elektronik.wav\';
MediaPlayer2.filename := extractfilepath(Application.exename)+ \'uddannelse.wav\';
billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn6Click(Sender: TObject);
begin
billedenr := billedenr + 1;
if billedenr = 3 then billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn5Click(Sender: TObject);
begin
billedenr := billedenr - 1;
if billedenr = 0 then billedenr := 2;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

end.



Mit code ser sådan ud er der nogen der kan hjælpe.
Avatar billede stone Forsker
15. januar 2002 - 22:47 #14
du skriver kun navnet på wav filen i filename.
så søger den efter filen i det aktuelle bibliotek,
hvor din exefil er.
Avatar billede klix Nybegynder
15. januar 2002 - 22:50 #15
Fejler den på denne linje:
Application.CreateForm(Tprogrammering, programmering);
?

Så fjern den, du har sikkert omdybt eller fjernet et eller andet. Ellers må du skriver selve fejlmeddelsen til os, det gør det lidt lettere at debugge!
Avatar billede stone Forsker
15. januar 2002 - 22:50 #16
betingelsen for at det virker er at du lægger dine
wav filer i samme mappe som dit program
Avatar billede guskii Nybegynder
15. januar 2002 - 22:54 #17
Det var jo lige det der skulle til
taktak stone ;)
Avatar billede klix Nybegynder
15. januar 2002 - 23:54 #18
Whaattt???
Avatar billede dkn Nybegynder
16. januar 2002 - 00:29 #19
doh
Avatar billede stone Forsker
16. januar 2002 - 07:38 #20
klix...kig på det accep. svar!

du skriver kun navnet på wav filen i filename.
så søger den efter filen i det aktuelle bibliotek,
hvor din exefil er.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester