Simple Voice Engine Application With Sound Player Class...

Posted at : Mar/28/2007
17673 Views | 7 Comments

Pernahkah membayangkan bagaimana caranya membuat aplikasi seperti mesin suara antrian di bank? Di artikel ini saya buat aplikasi sederhana mesin suara antrian dengan memanfaatkan SoundPlayer Class yang terdapat di dalam namespace System.Media yang digunakan untuk execute file .wav.

Secara logika sebenarnya sederhana. Kita buat file .wav yang merekam suara manusia untuk masing-masing angka, misalnya file 0.wav yang merekam suara "nol", 1.wav yang merekam suara "satu"...kemudian angka yang muncul di mesin antrian / output yang diambil dari tabel atau file .xml atau file .txt  kita baca per karakter, dan per karakter tersebut nantinya di cocokkan dengan file name .wav yang sudah kita buat sebelumnya.

Untuk membuat delay pada detik tertentu kita bisa memanfaatkan Sleep method dari Thread class, sehingga jeda satu suara yang mewakili satu angka tidak terlalu cepat. Aplikasi yang saya buat ini tentu hanya konsep saja, anda bisa mengembangkannya lebih lanjut. Misalnya data antrian terakhir diambil dari datasource tertentu, validasi untuk number yang akan dibaca, maksimum angka yang diperbolehkan, dsb.

Untuk aplikasi ini nomor yang akan dibaca yaitu di input lewat textbox yang hanya bisa menerima unassign integer (angka positif saja) dan maksimum hanya empat karakter (empat angka), input juga hanya boleh angka. File wav yang digunakan di aplikasi ini juga hanya file wav contoh yang diambil dari windows :) yang sudah saya rename berdasarkan urutan angka dan saya simpan di folder bin. Anda bisa merubah lokasi penempatan file wav nya tentunya. 

Sudah pasti dalam real application anda harus ganti dengan file wav suara sungguhan yang menyuarakan angka-angkanya. Ok...Here's the code...you can download the code sample from the link above...enjoy it !!

Windows form screen shot :

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.ComponentModel;
   4:  using System.Data;
   5:  using System.Drawing;
   6:  using System.Text;
   7:  using System.Windows.Forms;
   8:  using MyMedia = System.Media;
   9:   
  10:  namespace VoiceEngine
  11:  {
  12:      public partial class frmVoiceEngine : Form
  13:      {
  14:          public frmVoiceEngine()
  15:          {
  16:              InitializeComponent();
  17:          }
  18:   
  19:          private void GetWav(string Number)
  20:          {
  21:              using (MyMedia.SoundPlayer mySoundPlayer =
  22:                  new MyMedia.SoundPlayer())
  23:              {
  24:                  switch (Number)
  25:                  {
  26:                      case "0":
  27:                          mySoundPlayer.SoundLocation = "0.wav";
  30:                          break;
  31:                      case "1":
  32:                          mySoundPlayer.SoundLocation = "1.wav";
  35:                          break;
  36:                      case "2":
  37:                          mySoundPlayer.SoundLocation = "2.wav";
  40:                          break;
  41:                      case "3":
  42:                          mySoundPlayer.SoundLocation = "3.wav";
  45:                          break;
  46:                      case "4":
  47:                          mySoundPlayer.SoundLocation = "4.wav";
  50:                          break;
  51:                      case "5":
  52:                          mySoundPlayer.SoundLocation = "5.wav";
  55:                          break;
  56:                      case "6":
  57:                          mySoundPlayer.SoundLocation = "6.wav";
  60:                          break;
  61:                      case "7":
  62:                          mySoundPlayer.SoundLocation = "7.wav";
  65:                          break;
  66:                      case "8":
  67:                          mySoundPlayer.SoundLocation = "8.wav";
  70:                          break;
  71:                      case "9":
  72:                          mySoundPlayer.SoundLocation = "9.wav";
  75:                          break;
  76:                  }
  33:                  mySoundPlayer.Play();
  34:                  System.Threading.Thread.Sleep(1000);
  77:              }
  78:          }
  79:   
  80:          private void txtNumber_Validating(object sender,
  81:              CancelEventArgs e)
  82:          {
  83:              uint result;
  84:              if(uint.TryParse(txtNumber.Text,out result) == false)
  85:              {
  86:                  e.Cancel = true;
  87:                  MessageBox.Show("Enter valid number", "Warning",
  88:                      MessageBoxButtons.OK, MessageBoxIcon.Information);
  89:                  txtNumber.Focus();
  90:              }
  91:          }
  92:   
  93:          private void btnPlay_Click(object sender, EventArgs e)
  94:          {
  95:              this.Enabled = false;
  96:              foreach (char aChar in txtNumber.Text.ToCharArray())
  97:              {
  98:                  string aNumber = aChar.ToString();
  99:                  GetWav(aNumber);
 100:              }
 101:              this.Enabled = true;
 102:          }
 103:   
 104:          private void btnClose_Click(object sender, EventArgs e)
 105:          {
 106:              this.Dispose();
 107:          }
 108:   
 109:      }
 110:  }


InfoEbook-ebook yang tersedia yang dapat dipesan secara langsung atau melalui google play store.



[Comments]

Hendry (Nov/13/2007 12:17:58)
bisa gak sy dibuatkan software untuk antrian sepeti diatas karena perusahaan tempat sy bekerja lagi membutuhkan sistem antrian yang harganya terjangkau,kira-kira berapa harganya..
Mahmun Ali (Dec/20/2008 06:24:47)
Mas Rully aku baru belajar pemrograman VB tolong donk mas kirim contoh cara penulisan program relasi antar database dan form untuk 1. Input data baru 2. Edit data 3. serta untuk menghapus Trimakasih mas Alimahmun@ymail.com Mahmun@trimitra-baterai.co.id
ARY (Jan/10/2009 05:33:09)
Salam kenal mas Rully..... saya mau nanya niy.....namespace System.Media yang digunakan untuk execute file .wav itu di dapat darimana ya.apa saya harus membuat folder terpisah.Applikasi ini khusus untuk VB6 kan mas.Dan kenap file yang saya download dr atas halaman ini dlm bentuk .cs YA.Knp gak ada dalam bentuk .frm Mas. terima kasih atas bantuannya. fakhryadi_amran@yahoo.com
Rully (Jan/10/2009 10:32:22)
@ARY : Mas ary, contoh artikel ini menggunakan Visual C# 2.0 diatas .NET framework. Kalau mau pake VB harus versi yang .NET nya, yaitu VB.NET versi 2005 ke atas...jadi ini ga bisa dipake untuk VB 6.0.
ipoels (Mar/18/2012 03:57:01)

salam kenal mas ruly,

saya bisa minta tolong gak di kirim source code ke email saya diatas (saipul_anshor@yahoo.co.id) tentang bagaiaman membuat file perekam gambar dan suara menggunakan vb 6.0???

program nya seperti layak nya CCTV tapi disini saya ingin menggunakan webcam sebagai kamera nya dan klw bisa suara nya juga otomatis ter save.....

mohon di kirim ke email saya jika mas ruli punya source code nya. thanks

 

Rully (Mar/19/2012 08:25:07)

 @ipoels : halo, salam kenal...wah kebetulan saya tidak punya contoh source code program seperti itu mas :)

aplikasi antrian sid (Jan/18/2020 10:03:42)

 bisa kah membuatkan aplikasi antrian sidang untuk kantor saya Pengadilan Agama


[Write your comment]

Name (required)

Email (required-will not published)

 
Comment
ETGY
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.