MODUL THU VÀ PHÁT ÂM THANH

Một phần của tài liệu Đồ án xây dựng thử nghiệm một hệ thống cho phép trao đổi thông tin bằng tiếng nói thoại, tương tác điểm – điểm trên mạng LAN (Trang 86 - 88)

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 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.

Hình V.3 Lưu đồ của modul thu và phát tiếng nĩi

Một phần của tài liệu Đồ án xây dựng thử nghiệm một hệ thống cho phép trao đổi thông tin bằng tiếng nói thoại, tương tác điểm – điểm trên mạng LAN (Trang 86 - 88)

Tải bản đầy đủ (DOC)

(120 trang)
w