THIẾT KẾ CHƯƠNG TRÌNH
V.2.3 MODUL THU VÀ PHÁT ÂM THANH
Modul xử lý âm thanh làm nhiệm vụ giao tiếp với soundcard, ghi vào bộ nhớ và truyền cho modul II để mã hố, đồng thời nhận các mẫu đã giải mã ở modul II để đưa ra soundcard trong quá trình nhận.
Quá trình thu và phát tiếng nĩi thơng qua vùng đệm (buffer), cĩ 2 loại vùng đệm trong Direct sound : Primary buffer và Secondary buffer. Primary buffer chứa tiếng nĩi mà người nghe sẽ nghe thấy. Chỉ cĩ duy nhất một Primary buffer và buffer này do DirectSound tạo ra, secondary buffer chứa tiếng nĩi hoặc đoạn tiếng cần đưa
Modul xử lý âm thanh Modul mã hố (giải mã) Modul truyền nhận Mẫu tiếng nĩi thu được Gĩi dữ liệu sau khi mã hố Mẫu tiếng nĩi đã giải mã Gĩi dữ liệu nhận từ remote
ra. Chương trình cĩ thể tạo ra một hoặc nhiều Secondary buffer. Khi phát tiếng nĩi trong secondary buffer, DerectSound sẽ chuyển tiếng nĩi sang Primary buffer và đưa ra soundcard. Chương trình ứng dụng cĩ thể dùng DirectSoundCapture để ghi tiếng nĩi vào một Capturebuffer. Cũng như khi phát tiếng nĩi, chương trình cĩ thể báo con trỏ đến một vị trí nào đĩ và khi nĩ đến cuối của buffer thì nĩ tự động quay lại vị trí đầu của buffer.
Khi thao tác với các buffer, DirectSound cho phép khĩ một phần của buffer lại đểđảm bảo khơng bị ghi đè lên phần này.
Modul thu và phát tiếng nĩi nằm trong cùng một Record thread. Thread cĩ mức ưu tiên cao nhất. Mỗi khi cĩ một dịng thơng báo từ DirectSound gửi đến tức là khi con trỏ Capture buffer đi đến vị trí quy định trước thì thread này sẽđược gọi đến. Lúc này, modul thu tiếng nĩi sẽ khố phần Capture buffer vừa ghi xong. Néu trong buffer của modul phát tiếng nĩi cĩ tín hiệu tiếng nĩi thì sẽ chép vào Secondary buffer của DirectSound.
LUẬN VĂN TỐT NGHIỆP Trang 44
Đề tài : Xây dng ưứg duụg truyeề thoơg â thanh treê maạg cuụ boộ
Hình V.3 Lưu đồ của modul thu và phát tiếng nĩi