Arsip: media player

 
user image
more 15 years ago

Tfai

Salam kenal semua... saya mau nanya nih master-master delphi semua, saya punya masalah dengan Mediaplayer, saya membuat aplikasi pemanggil nomor antrian(seperti antrian bank gitu), pertama saya membuat rekaman suara dari nomor satu sampai sebelas saja, kemudian suara tersebuat(folder dan nama filenya) saya panggil ke listbox terus saya gunakan looping untuk memanggil file-file tersebut, tetapi kenapa file terakhir yang terucap? mohon bantuannya ya pleaseee....
user image
more 15 years ago

ImanD

@Tfai mana source-nya, apa yg mo di bantu?
user image
more 15 years ago

Tfai

sori bos..., ini potongan programnya
Procedure tform1.Ucapkan(x:Integer);
var
   nomor : string;
begin
    cdsnomornya.Data:= BacaData;
 if (x<12) then
 begin
    cdsnomornya.Locate('id',inttostr(x),[]);
    nomor:=cdsnomornya.FieldValues['nama_file'] ;
    ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
  end
  else
    if (x<20) then
     begin
      cdsnomornya.Locate('id',inttostr(x-10),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
      ListBox1.Items.Add(CurrDir+'\SUARA\BELAS.WMA');
     end
    else
      if (x<100) then
      begin
      cdsnomornya.Locate('id',inttostr(x DIV 10),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
      ListBox1.Items.Add(CurrDir+'\SUARA\PULUH.WMA');
      cdsnomornya.Locate('id',inttostr(x MOD 10),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
     end
      else
        if (x<200) then
       begin
       ListBox1.Items.Add(CurrDir+'\SUARA\SERATUS.WMA');
      cdsnomornya.Locate('id',inttostr(x-10),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
      END
        else
          if (x<1000) then
      begin
      cdsnomornya.Locate('id',inttostr(x DIV 100),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
      ListBox1.Items.Add(CurrDir+'\SUARA\RATUS.WMA');
      cdsnomornya.Locate('id',inttostr(x MOD 100),[]);
      nomor:=cdsnomornya.FieldValues['nama_file'] ;
      ListBox1.Items.Add(CurrDir+cdsnomornya.FieldValues['nama_file']);
     end;
end;
procedure TForm1.Button1Click(Sender: TObject);
VAR
 Y,X:INTEGER;
begin
LISTBOX1.Clear;
LISTBOX1.Items.Add(CurrDir+'\suara\NOMOR.WMA');
ucapkan(111);
LISTBOX1.Items.Add(CurrDir+'\suara\ke.wma');
X:=LISTBOX1.Items.Count;
FOR X:= 0 TO X-1 DO
BEGIN
 
        MediaPlayer1.FileName:=ListBOX1.Items.Strings[X];
        MediaPlayer1.Open;
        MediaPlayer1.Play;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CurrDir:=ExtractFilePath(Application.ExeName);
end;
user image
more 15 years ago

DelphiExpert

@Tfai: Dalam iterasi, tunggu hingga media player selesai "mengucapkan" file yg sedang di play, kemudian lanjutkan dng open file lain sesuai iterasi
user image
more 15 years ago

DelphiExpert

Tambahan: Untuk cek MP masih sedang play atau tidak gunakan fungsi sejenis MP.IsPlaying dsj.

while MP.IsPlaying do
begin
  Application.ProcessMessage;
  Sleep(1);
end;
user image
more 15 years ago

Tfai

thank mas DE atas bantuannya,sudah dicoba memang perlu mikir dikit lagi soalnya fungsi isplaying tdk ada di componen media player, mungkin mp lain ya?
user image
more 15 years ago

DelphiExpert

Coba check property State atau sejenisnya... saya ngga' apal :mrgreen:
user image
more 15 years ago

Tfai

trim's semuanya, kendalanya saya kelupaan membuat property state untuk WAIT menjadi True; 1xlg makasi banyak
user image
more 15 years ago

DelphiExpert

ya... begitulah kira2... :mrgreen:
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com