9. MULTIMEDIA
9.4. Giới thiệu lớp android.media.MediaRecorder
Để ghi lại một tập tin audio ta sử dụng lớp MediaRecorder. Tương tự lớp MediaPlayer ta có sơ đồ sau:
Hình 2.30: sơ đồ lớp android.media.Mediarecorder
Các phương thức được sử dụng để ghi lại audio hoặc video: Giá trị trả về Tên phương thức
Chức năng
int getAudioFormat()
Trả về định dạng âm thanh.
Trả về nguồn ghi âm thanh. Có thể là VOICE_CALL, MIC, CAMCORDER.
int getChannelConfiguration()
Trả về cấu hình của kênh âm thanh.
static int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat)
Trả về kích thước bộ đệm tối thểu, cần thiết để tạo thành công một đối tượng AudioRecord.
void release()
Giải phóng các tài nguyên thuộc AudioRecord.
void startRecording()
Bắt đầu ghi.
void stop()
Kết thúc ghi.
int getState()
Trả về trạng thái ghi âm. Điều này cho ta biết tài nguyên phần cứng đã đảm bảo hỗ trợ việc ghi lại hay chưa.
Để ghi lại một tập tin media từ thiết bị ta thực hiện các bước sau: 1. Khởi tạo một đối tượng android.media.MediaRecorder.
2. Thiết lập nguồn âm thanh được sử dụng để ghi âm. Nếu phương thức này không được gọi, các tập tin kết quả sẽ không chứa các rãnh âm thanh (audio track). Sử dụng MediaRecorder.setAudioSource().
3. Thiết lập định dạng tập tin đầu ra sử dụng MediaRecorder.setOutputFormat().
4. Thiết lập tên tập tin đầu ra sử dụng MediaRecorder.setOutputFile(). 5. Thiết lập mã hóa audio sử dụng MediaRecorder.setAudioEncoder().
6. Gọi MediaRecorder.prepare(), nhằm làm cho thiết bị sẵn sàng để mã hóa dữ liệu.
7. Bắt đầu ghi âm, gọi hàm MediaRecorder.start(). 8. Dừng ghi âm, gọi hàm MediaRecorder.stop().
9. Khi bạn hoàn thành làm việc với đối tượng MediaRecorder thì gọi hàm MediaRecorder.release() để giải phóng nguồn tài nguyên hệ thống ngay tức thì.