Phát âm thanh theo sự kiện Change của Textbox.

Liên hệ QC

truonggiang73

Thành viên hoạt động
Tham gia
27/6/09
Bài viết
113
Được thích
35
Hi.
Hiện tôi đang lập UserForm để nhập số liệu vào bảng tính, Form lấy STT làm cơ sở chính để nhập liệu. Do số hộ phát sinh lớn, công tác ghi chép hay lẫn lộn giữa STT và họ tên. Ví dụ : Cao Đức C là số 9 nhưng có thể ghi nhầm sang số khác 90 hoặc 19 chẳng hạn. Vì vậy mỗi lần nhập số lại phải nhìn lên màn hình để kiểm tra xem STT ghi đã đúng tên định trước hay chưa nên mất nhiều thời gian và mỏi mắt. Nhờ các anh chị em trong nhà giúp tôi bổ sung thêm tiếng như sau :
Mỗi lần nhập Số TT vào TB1 thì phát ra loa tên của hộ kèm theo để kiểm tra bằng nghe. EX : Nhập STT = 9 thì phát tiếng tên hộ là Cao Đức C.
Tôi gửi theo File đính kèm dạng đơn giản để dễ theo tác.
TG73 xin cảm ơn.
 

File đính kèm

Bạn cứ nghĩ xem bằng cách nào mà phát ra được âm thanh "Cao Đức C"? Ai đọc? Bạn tự đọc à?
Nếu là âm thanh beep beep gì đó thì nghe còn có lý 1 chút

Hihihi, tự nhiên đọc câu trả lời của bác Du thấy mắc cười quá. Nhưng mình nghĩ là bíp bíp cũng không ra vấn đề đâu, vì làm sao mà phân biệt được bíp này với bíp kia. Chỉ có thể quy định là nếu số 1 thì nó bíp 1 phát, và nếu là số 100 thì nó sẽ bíp từ sáng đến chiều luôn, ta cứ từ từ vừa nhấn entơ vừa uống trà vừa đếm xem nó bíp bao nhiêu lần, và thế là hết mỏi mắt nhưng mỏi tai....

nói đùa cho vui cả hai bác đừng giận, nhé!
 
Upvote 0
Hihihi, tự nhiên đọc câu trả lời của bác Du thấy mắc cười quá. Nhưng mình nghĩ là bíp bíp cũng không ra vấn đề đâu, vì làm sao mà phân biệt được bíp này với bíp kia. Chỉ có thể quy định là nếu số 1 thì nó bíp 1 phát, và nếu là số 100 thì nó sẽ bíp từ sáng đến chiều luôn, ta cứ từ từ vừa nhấn entơ vừa uống trà vừa đếm xem nó bíp bao nhiêu lần, và thế là hết mỏi mắt nhưng mỏi tai....

nói đùa cho vui cả hai bác đừng giận, nhé!
Ẹc... Ẹc... Vì lẽ đó, có lẽ ta nên quay lại vấn đề về phần nhập liệu
Mà nói thật, tôi xem file cũng chả hiểu tác giả muốn gì luôn!
Cao Đức C là số 9 nhưng có thể ghi nhầm sang số khác 90 hoặc 19 là thế nào nhỉ?
 
Upvote 0
Ai mà làm như vậy, kim từ điển còn không phát âm chuẩn huống chi là "Ếch Seo"! Cứ việc gõ nhầm, gõ sai, khi nhập vào CSDL nó báo lỗi là mã đó đã tồn tại thì biết mình sai rồi chứ có gì đâu.

Bạn đọc và tải file ở đường link dưới đây, vừa có âm thanh Beep vừa báo lỗi nhập trùng mã nè. Tôi nghĩ bạn nên mã hóa tên, cứ gõ mã là hiện tên là chắc cú nhất!

http://www.giaiphapexcel.com/forum/...-Validation-như-thế-nào&p=261662#post261662
 
Lần chỉnh sửa cuối:
Upvote 0
Mình nghĩ không hẳn là như vậy, đọc mã không phải là đọc ghép vần tiếng Việt mà là lần luợt các ký tự và chữ số. Mình nhớ và tìm chưa ra, BNTT đã có bài giới thiệu vê đọc bằng âm thanh chữ số tiếng Việt. Nếu có thể bạn tham khảo mở rộng các chữ cái nữa là có thể.
Banj có thể liên hệ lại với BNTT và tham khảo về vấn đề này.
 
Upvote 0
Mình nghĩ không hẳn là như vậy, đọc mã không phải là đọc ghép vần tiếng Việt mà là lần luợt các ký tự và chữ số. Mình nhớ và tìm chưa ra, BNTT đã có bài giới thiệu vê đọc bằng âm thanh chữ số tiếng Việt. Nếu có thể bạn tham khảo mở rộng các chữ cái nữa là có thể.
Banj có thể liên hệ lại với BNTT và tham khảo về vấn đề này.

Không đơn giản thế đâu bác ơi. Đọc số thành chữ thì quá dễ vì số từ là giới hạn. Chỉ cần tạo các file ân thanh: mot.wav, hai.wav, ba.wav, bon.wav, ngan.wav, trieu.wav,.... rồi từ kết quả văn bản đọc chữ số gép các từ ứng với các file âm thanh rồi cho chạy. Nhưng đọc tự tự do, với các âm tiết,...là rất khó. Nếu làm được điều này + Chức năng đọc vào loa ghi lại thành văn bản thì có thể so sánh với chức năng Speech của Microsoft Office XP, 2003.
 
Upvote 0
Không phải đánh vần đâu Tuân ơi mà tác giả định đọc mã thôi là chấp nhận được. Ví dụ:
AC129=A xê một hai chín
 
Upvote 0
Không phải đánh vần đâu Tuân ơi mà tác giả định đọc mã thôi là chấp nhận được. Ví dụ:
AC129=A xê một hai chín

Bác ah, mình nghĩ cái anh truonggiang73 này có ý giống mình đã từng muốn trước đây, là khi anh ấy nhập "19" thì trên form đã hiện tên " Nguyễn Đức C" rồi, nhưng vì không muốn dòm bằng mắt xem có đúng " Nguyễn Đức C" là số 19 không nên anh ấy muốn có âm thanh " Nguyễn Đức C" phát ra để kiểm tra bằng tai cho khỏi mỏi mắt.

Về mặt kỹ thuật thì mình dốt nên không dám bàn, nhưng vụ âm thanh này mình nghĩ nó giống như phần mềm đọc số thứ tự như ở các ngân hàng hay làm (ví dụ họ cứ :" Mời khách hàng" và "Một" - "Hai" - "Sáu" - nghĩa là đến phiên khách hàng thứ 126), nhưng về mặt thực tế mình nghĩ không tác dụng mấy bác ạ, vì sau khi nhấn "19" và bấm enter để chạy cái file đọc số , khi cái máy tính đọc xong " Một"- "Chín" chẳng hạn thì người nhập đã kịp liếc mắt lên màn hình và thấy "Nguyễn Đức C" rồi - Cái này là thói quen khó bỏ, vả cũng khó để nhấn enter xong lại nghỉ chừng 1-2 giây để "lắng nghe" cái còm pu tơ. Thế nên cái vụ "đỡ mỏi mắt" không cải thiện được là bao, mà não thì phải thêm một chức năng nghe để kiểm tra nữa... nên có khi nhập còn chậm hơn.
 
Upvote 0
Cái Form này hiện tại CQ tôi đang dùng để nhập & tổng hợp số liệu. Quy trình nguồn lấy số liệu như sau :
- Mỗi buổi Sáng-Chiều các cán bộ thu mua đi đến tận nơi người LĐ bán SP để mua, ai bán từng nào thi ghi từng ấy vào 01 trang giấy gồm STT, họ tên, SL, Chất lượng. Vì vậy ghi sai giữa tên và STT rất hay xẩy ra. Đến cuối buổi bộ phận nghiệp vụ tổng hợp phải đối chiếu đến hoa cả mắt, vì vậy mới phát sinh ra phát tên để tiện cho việc đối chiếu.
- Còn kém về kỹ thuật nên tôi cũng không dám đề xuất ý tưởng cụ thể nhưng trong dự định là mượn cô nào có giọng "chua chua" để tạo các tệp tin âm thanh cho tên từng người, sau đó nhờ Form để kết nối phát tiếng. Yêu cầu là sau khi nhập xong tại TB1 sau ??? thời gian thì mới chấp nhận số liệu nếu không định nhập số 19 thì mới nhập số 1 đã phát tiếng thì nguy.
- TG73 xin lỗi mọi người vì không nói rõ yêu cầu công việc nên khó hình dung ra làm để làm gì?
- Tại CQ chưa có mạng nên không cảm ơn & giải thích kịp thưòi mong được sự thông ảm và giúp đỡ của cả nhà.
Thank for every...
 
Upvote 0
Cái Form này hiện tại CQ tôi đang dùng để nhập & tổng hợp số liệu. Quy trình nguồn lấy số liệu như sau :
- Mỗi buổi Sáng-Chiều các cán bộ thu mua đi đến tận nơi người LĐ bán SP để mua, ai bán từng nào thi ghi từng ấy vào 01 trang giấy gồm STT, họ tên, SL, Chất lượng. Vì vậy ghi sai giữa tên và STT rất hay xẩy ra. Đến cuối buổi bộ phận nghiệp vụ tổng hợp phải đối chiếu đến hoa cả mắt, vì vậy mới phát sinh ra phát tên để tiện cho việc đối chiếu.
- Còn kém về kỹ thuật nên tôi cũng không dám đề xuất ý tưởng cụ thể nhưng trong dự định là mượn cô nào có giọng "chua chua" để tạo các tệp tin âm thanh cho tên từng người, sau đó nhờ Form để kết nối phát tiếng. Yêu cầu là sau khi nhập xong tại TB1 sau ??? thời gian thì mới chấp nhận số liệu nếu không định nhập số 19 thì mới nhập số 1 đã phát tiếng thì nguy.
- TG73 xin lỗi mọi người vì không nói rõ yêu cầu công việc nên khó hình dung ra làm để làm gì?
- Tại CQ chưa có mạng nên không cảm ơn & giải thích kịp thưòi mong được sự thông ảm và giúp đỡ của cả nhà.
Thank for every...
Nếu bạn có sẳn các file âm thanh thì làm được!
- Đầu tiên hãy đặt tên cho file âm thanh đúng theo STT và đặt nằm cùng với thư mục chứa file của bạn!
- Trong UserForm, chỉ cần thêm code này vào
PHP:
Private Declare Function sndPlaySound Lib "winmm.dll" _
  Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
  ByVal uFlags As Long) As Long
PHP:
Private Sub TextBox1_AfterUpdate()
  sndPlaySound ThisWorkbook.Path & "\" & TextBox1.Text & ".wav", 0
End Sub
- Khi gọi Form lên, bạn gõ STT vào và chỉ cần Enter 1 cái là lập tức âm thanh sẽ phát ra (chưa Enter hoặc con trỏ chuột chưa rời khỏi TextBox1 thì sẽ chẳng có chuyện gì xảy ra)
- Xem file đính kèm và thí nghiệm nhé
 

File đính kèm

Upvote 0
Bạn tham khảo ở đây xem, có thể nó còn hơn cả yêu cầu của bạn. Bài của nhà ta cả , nào phải đâu xa.
 
Upvote 0
Nhưng đọc từ theo kiểu Text to Speech nghe nó cứ lơ lớ thế nào ấy anh à!
Hì, mình biết Ndu hơi "khó tính" từng đoạn code, từng công thức. Nhưng với điều kiện nghiệp dư thì cũng khá tiện nghi rồi.
Mặt khác, còn do người sử dụng nữa. Mình rất thích file của Tuan để soạn và chơi nhạc. Mình đã soạn nhiếu bài nhưng mãi không được bài nào mượt như bài mẫu cả.
 
Upvote 0
Xin hỏi & giúp cho ra nhẽ luôn :
Trong tay ngoài kiến thức đang "gà mờ" còn có 01 cái micro. Xin mọi người giới thiệu và hướng dẫn cho phần mềm nào đó để tạo ra các tệp âm thanh.
 
Upvote 0
Xin hỏi & giúp cho ra nhẽ luôn :
Trong tay ngoài kiến thức đang "gà mờ" còn có 01 cái micro. Xin mọi người giới thiệu và hướng dẫn cho phần mềm nào đó để tạo ra các tệp âm thanh.
Máy tính nào cũng có sẳn chương trình Sound Recorder
Bấm Start\Run và gõ vào lệnh sndrec32.exe ---> Tiếp theo.. tự nghiên cứu
(Đây là tôi nói cho trường hợp dùng Windows XP ---> Với Windows Vista hay Windows 7 thì không biết có giống vậy không nha)
 
Upvote 0
Ố là là ... hay quá xá.
Được sự giúp đỡ của mọi người tôi đã làm được rồi, đơn giản gọn nhẹ nhưng đỡ bao nhiêu công sức, đỡ tiền mua V-Roto CHO MỌI NGƯỜI. Chân thành cảm ơn các anh chị.
Nhưng chỉ làm mà chưa hiểu nên chắc sẽ tìm hiểu sau như tại sao định nghĩa hàn mà không thấy có End Function ? "Private Declare Function sndPlaySound Lib "winmm.dll" _
Alias
"sndPlaySoundA" (ByVal lpszSoundName As String,
_
ByVal uFlags
As Long) As
Long "

Cái cậu Alias "sndPlaySoundA" là gỉ nhỉ ?

 
Upvote 0
Ố là là ... hay quá xá.
Được sự giúp đỡ của mọi người tôi đã làm được rồi, đơn giản gọn nhẹ nhưng đỡ bao nhiêu công sức, đỡ tiền mua V-Roto CHO MỌI NGƯỜI. Chân thành cảm ơn các anh chị.
Nhưng chỉ làm mà chưa hiểu nên chắc sẽ tìm hiểu sau như tại sao định nghĩa hàn mà không thấy có End Function ? "Private Declare Function sndPlaySound Lib "winmm.dll" _
Alias
"sndPlaySoundA" (ByVal lpszSoundName As String,
_
ByVal uFlags
As Long) As
Long "

Cái cậu Alias "sndPlaySoundA" là gỉ nhỉ ?

Mấy hàm ấy không phải ta định nghĩa ---> Nó thuộc bộ hàm API của Windows (có sẳn), chỉ việc gọi ra và xài thôi ---> Cách viết nó là như vậy (không có End Function gì cả) ----> Chỉ việc viết cho thật chính xác, hiểu được mục đích của hàm dùng để làm gì là được rồi
Có 1 câu hỏi nhiều người thường thắc mắc: "Làm sao nhớ được chính xác cú pháp và nội dung của hàm API"
Câu trả lời: Tra các hàm API trong Ebook và Ebook dạng này có đầy trên mạng (Google search)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom