Phỏt thanh 1 Thu thanh

Một phần của tài liệu Xây dựng chương trình xử lý âm thanh số (Trang 62 - 65)

5.1. Thu thanh

Để cú thể tạo được một tệp õm thanh, ta phải sử dụng một số thiết bị chuyờn dụng như micro, soundblaster hay soundcard... Âm thanh qua micro được cỏc trỡnh điều khiển õm thanh chuyển thành dạng số và lưu trữ dưới dạng tệp Wave.

Tuy nhiờn, để đạt được điều đú, ta phải xỏc định một số tham số nhằm định dạng lưu trữ dữ liệu. Đú là cỏc tham số như tần số lấy mẫu, dạng õm thanh mono hay stereo, số bits cho mỗi mẫu ... Trong chương trỡnh ta ấn định luụn số kờnh truyền là 1 (õm thanh dạng mono).

5.2. Phỏt thanh

Trong chương trỡnh, ta chỉ xột tới trường hợp phỏt toàn bộ một tệp õm thanh. Nếu muốn phỏt một đoạn nào đú trong tệp õm thanh tuỳ ý, ta sẽ sao chộp riờng phần đú và lưu dưới dạng một tệp Wave mới (sử dụng chế độ soạn thảo õm như phần trờn), sau đú sẽ phỏt tệp õm này.

Để cú thể phỏt õm thanh ra loa, thiết bị cần nhận tờn tệp và một số tham số đặc trưng của õm thanh. Chương trỡnh cú thể ứng dụng cho cả dạng õm thanh (Wave file) và dạng hỡnh ảnh video (Midi file).

Delphi hỗ trợ rất nhiều trong việc tớch hợp hoạt ảnh và õm thanh vào cỏc ứng dụng. Thụng thường cú 2 cỏch:

a) Sử dụng cỏc chức năng riờng biệt trong Win32 API.

Cỏch sử dụng này rất đơn giản. Ta chỉ cần sử dụng một hàm đó được hỗ trợ:

PlaySound('Path', 0, SND_SYNC);

Trong đú 'Path' cú thể là đường dẫn tờn tệp, địa chỉ bộ nhớ, hay sự kiện hệ thống. Ngoài ra, ta cú thể phỏt õm thanh từ định vị bộ nhớ. Điều thuận lợi là người sử dụng khụng thể truy cập trực tiếp vào tệp õm thanh. Như vậy, ta cần tải õm thanh vào bộ nhớ, sau đú dựng một con trỏ để chỉ tới dữ liệu õm thanh, và dựng cờ SND_MEMOIRY để bỏo cho PlaySound API rằng ta đang sử dụng định vị bộ nhớ thay vỡ tờn tệp.

f:=CreateFile ('Path',GENERIC_READ,0,nil,OPEN_EXISTING,0,0); if not (f=INVALID_HANDLE_VALUE) then

begin ReadFile(f,ArrSample, MaxSize,sizs,nil); CloseHandle; end; .... PointDat:=ArrSample;

PlaySound(PointDat, 0, SND_ASYNC or SND_MEMORY);

Trong đú, PointDat là con trỏ chỉ tới mảng dữ liệu õm thanh ArrSample cú kớch thước là MaxSize.

b) Sử dụng cỏc thành phần để thực hiện cỏc chức năng về multimedia.

Ta sử dụng hợp thành Media Player. Cú thể sử dụng trực quan qua tập cỏc nỳt chức năng như "Record", "Play", "Stop",... hay điều khiển qua mó lệnh chương trỡnh.

MediaPlayer.FileName:=OpenDialog.FileName; MediaPlayer.Open;

Một phần của tài liệu Xây dựng chương trình xử lý âm thanh số (Trang 62 - 65)