Delphi- Play Sound Wave
Ada sebuah pernyataan,
jika a >=50 maka
a akan menghasilkan suara a
a akan menghasilkan gambar a
a akan menghasilkan tulisan a
jika b<=50 maka
b akan menghasilkan suara b
b akan menghasilkan gambar b
b akan menghasilkan tulisan b
dengan timer 2detik.
Setelah 2 detik perulangan diatas tidak berfungsi lagi.
Kira2 coding di delphinya gmn ya???
Mohon bimbingannya….
Saya baru bisa seperti dibawah tapi klu di run hanya muncul suara saja…
begin
if VoltF >= 60 then
Label6.Caption:=’Batang’;
sndPlaySound(‘E:\nyoba.wav’, SND_NODEFAULT Or SND_ASYNC Or
SND_LOOP);
if VoltF <=50 then
Label6.Caption:=’Daun’;
sndPlaySound(‘E:\nyoba.wav’, SND_NODEFAULT Or SND_ASYNC Or
SND_LOOP);
end
Nah dari tulisan diatas saya memang agak
bingung untuk alur programnya nanti saya jawab alur yang saya pahami
saja ya soalnya detail diatas masih kurang jelas. untuk code dari masnya
sudah betul untuk tampilan sound hanya ada beberapa kesalahan pada
penggunaan ifnya saja, nah monggo simak alur yang coba saya jawab berdasarkan yang saya pahami.
Pertama Buat Form Baru sebagai berikut :
Nah aturlah Properties Namenya Sebagai Berikut :
Nah Berikut ini adalah alur programnya :
- Jika Program Dijalankan maka Text_a bernilai 0 dan kita bisa memulai program dengan mengklik Button_mulai.
- Jika Button_mulai Di Klik maka Text_a akan berjalan dengan penambahan penyataan a+2 setiap time interval 250 di timer 1. dan Caption Button_mulai Berubah Jadi Stop.
- Saat Nilai Text_a > 0 maka akan muncul tulisan pada label_suara : ‘ ini adalah suara Ayam ~ ~ ~ ‘, kemudian image muncul gambar Ayam dan memainkan sound wave untuk ayam yang sudah disediakan.
- Saat Nilai Text_a > 50 maka akan muncul tulisan pada label_suara : ‘ ini adalah suara Kodok ~ ~ ~ ‘, kemudian image muncul gambar kodok dan memainkan sound wave untuk kodok yang sudah disediakan.
- jika nilai Text_a >100 maka gambar hilang, label kembali semula dan button_mulai Kembali Menjadi mulai dan text_a kembali bernila 0;
note: format gambar yang digunakan dengan format Bmp
ya karena format jpg tidak support untuk image untul langsung load.
format suara juga digunakan format wav yang sudah support tanpa ada
penambahan komponent lainnya.
_______________________________________________________________________________
Berikut ini adalah listing Codenya :
tambahakan componet MMSystem pada list
Uses di list kode paling atas delphi yang digunakan untuk pemutaran file
wav ( lihat gambar dibawah ini ) :
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
| </pre> procedure TForm1.Timer1Timer(Sender: TObject); var a:integer; begin a:=strtoint(edit_a.Text); a:=a+2; edit_a.Text:=inttostr(a); if a>100 then begin button_mulai.Caption:='Mulai'; timer1.Enabled:=false; timer_kodok.Enabled:=false; timer_ayam.Enabled:=false; sndPlaySound(nil, 0); // Stops the sound edit_a.Text:='0'; image1.Picture:=nil; label_suara.Caption:='ini adalah Suara ???? ~ ~ ~' end else if a>50 then begin label_suara.Caption:='ini adalah Suara Kodok ~ ~ ~'; image1.Picture.LoadFromFile('C:\main_suara_wat\picture\kodok.bmp'); timer_ayam.Enabled:=false; timer_kodok.Enabled:=true; end else begin label_suara.Caption:='ini adalah Suara Ayam ~ ~ ~'; image1.Picture.LoadFromFile('C:\main_suara_wat\picture\ayam.bmp'); timer_ayam.Enabled:=true; timer_kodok.Enabled:=false; end; end; |
saat timer1.enabled:=true maka akan
menjalankan list code diatas dimana akan ada penambahan nilai a yang
akan di tampilkan pada text_a. Jika nilai a bernilai > 50 maka akan
tampil label tulisan suara kodok, gambar kodok dan suara kodok dengan
menjalankan timer_kodok, selain dari a>50 maka ia akan bernilai ayam
dan jika sudah lebih dari 100 maka akan di stop keseluruhan aktivitas
timer.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| procedure TForm1.button_mulaiClick(Sender: TObject); begin if button_mulai.Caption='Mulai' then begin button_mulai.Caption:='Stop'; timer1.Enabled:=true; timer_ayam.Enabled:=false; timer_kodok.Enabled:=false; end else begin button_mulai.Caption:='Mulai'; timer1.Enabled:=false; timer_ayam.Enabled:=false; timer_kodok.Enabled:=false; sndPlaySound(nil, 0); // Stops the sound edit_a.Text:='0'; image1.Picture:=nil; label_suara.Caption:='ini adalah Suara ???? ~ ~ ~' end; end; |
Jika caption button adalah Mulai maka
akan menyalakan Timer1 dan jika Caption Button adalah Stop dan di klik
maka akan mematikan timer1.
1
2
3
4
5
6
7
| procedure TForm1.timer_ayamTimer(Sender: TObject); begin sndPlaySound('C:\on_request\sound\ayam.wav', SND_NODEFAULT Or SND_ASYNC Or SND_LOOP); timer_ayam.Enabled:=false; end; |
Jika Timer Ayam dinyalakan dengan enabled = true maka akan menjalankan file suara ayam.
1
2
3
4
5
| procedure TForm1.Timer_kodokTimer(Sender: TObject); begin sndPlaySound('C:\on_request\sound\kodok.wav', SND_NODEFAULT Or SND_ASYNC Or SND_LOOP); timer_kodok.Enabled:=false; end; |
Jika Timer kodok dinyalakan dengan enabled = true maka akan menjalankan file suara kodok.
_______________________________________________________________________________
Nah Berikut ini adalah tampilan hasil aplikasinya .
Nah jika nilai teks sudah lebih dari 100 ia akan otomatis kembali ke
awal dengan Caption Button Menjadi Mulai dan gambar hilang dan Suara
Hilang.. Nah itulah yang bisa saya jawab untuk pertanyaan listing kode delphi yang pertama masuk kesaya ini hehehehe.
Untuk Temen Temen yang mau liat sourcecodenya secara jelas untuk copy
paste maka temen temen bisa lihat di pojok kanan atas listcode bisa
temen temen klik yang view sourcecode untuk menampilkan codenya,
perhatikan gambar berikut :
klik view sourcecode di kanan atas ( dilingkari merah )
contoh tampilan sourcecode saat sudah di klik d(^o^”)
Semoga Berguna dan untuk Temen temen :). klik disini
Tidak ada komentar:
Posting Komentar