Bản phát hành Android 10 bao gồm các yêu cầu sau để chụp bằng VOICE_COMMUNICATION
.
- Việc triển khai phải cung cấp bộ khử tiếng vang âm thanh (AEC) trên đường dẫn ghi khi chụp bằng
VOICE_COMMUNICATION
. - Nếu cung cấp AEC, AEC phải có thể được phát hiện và kiểm soát thông qua
AcousticEchoCanceler
của API SDK.
Nền tảng Android cung cấp hiệu ứng âm thanh trên các thiết bị được hỗ trợ trong gói audiofx
, gói này có sẵn cho các nhà phát triển truy cập. Ví dụ: Nexus 10 hỗ trợ các hiệu ứng tiền xử lý sau:
Ghép nối với các phiên bản AudioSource
Các hiệu ứng tiền xử lý được ghép nối với chế độ ca sử dụng trong đó yêu cầu tiền xử lý. Trong quá trình phát triển ứng dụng Android, trường hợp sử dụng được gọi là phiên bản AudioSource
; và các nhà phát triển ứng dụng yêu cầu sử dụng tính năng trừu tượng hóa AudioSource
thay vì thiết bị phần cứng âm thanh thực tế. Trình quản lý chính sách âm thanh của Android ánh xạ một phiên bản AudioSource
tới một cấu hình đường dẫn ghi nhất định (bao gồm thiết bị, mức khuếch đại và xử lý trước) theo các quy tắc dành riêng cho sản phẩm. Các nguồn sau đây được cung cấp cho các nhà phát triển:
-
android.media.MediaRecorder.AudioSource.CAMCORDER
-
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
-
android.media.MediaRecorder.AudioSource.VOICE_CALL
-
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
-
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
-
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
-
android.media.MediaRecorder.AudioSource.MIC
-
android.media.MediaRecorder.AudioSource.DEFAULT
Các hiệu ứng tiền xử lý mặc định được áp dụng cho từng phiên bản AudioSource
được chỉ định trong tệp /vendor/etc/audio_effects.xml
. Để chỉ định các hiệu ứng mặc định của riêng bạn cho mọi phiên bản AudioSource
, hãy tạo tệp /vendor/etc/audio_effects.xml
và chỉ định các hiệu ứng tiền xử lý cần bật. Để biết ví dụ, hãy xem cách triển khai cho Nexus 10 trong device/samsung/manta/audio_effects.xml
. Các phiên bản AudioEffect
thu thập và giải phóng một phiên khi được tạo và hủy, cho phép các hiệu ứng (chẳng hạn như Bộ tăng cường âm lượng) tồn tại trong suốt phiên.
Ví dụ sau đây cho phép tiền xử lý các phiên bản VoIP AudioSource
và Camcorder AudioSource
. Bằng cách khai báo cấu hình AudioSource
theo cách này, khung sẽ tự động yêu cầu sử dụng các hiệu ứng đó từ HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Điều chỉnh nguồn
Điều chỉnh AudioSource
không có yêu cầu rõ ràng về tăng âm thanh hoặc xử lý âm thanh ngoại trừ nhận dạng giọng nói ( VOICE_RECOGNITION
). Yêu cầu nhận dạng giọng nói bao gồm:
- Đáp ứng tần số phẳng (+/- 3 dB) từ 100 Hz đến 4 kHz
- Cấu hình nói chuyện gần: 90 dB SPL đọc RMS 2500 (mẫu 16 bit)
- Mức theo dõi tuyến tính từ -18 dB đến +12 dB so với 90 dB SPL
- THD < 1% (90 dB SPL trong dải tần 100 đến 4000 Hz)
- Yêu cầu gần siêu âm (để kiểm tra, xem Kiểm tra siêu âm gần ):
- Hỗ trợ
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
như được định nghĩa trong phần 7.8.3 của CDD. - Hỗ trợ một hoặc cả hai tốc độ lấy mẫu 44100 hoặc 48000 mà không có bộ lọc thông dải hoặc khử răng cưa.
- Hỗ trợ
- Hiệu ứng/tiền xử lý bị tắt theo mặc định
Ví dụ về việc điều chỉnh các hiệu ứng khác nhau cho các nguồn khác nhau là:
- Bộ giảm ồn
- Điều chỉnh để giảm tiếng ồn của gió cho
CAMCORDER
- Đã điều chỉnh để giảm tiếng ồn cố định cho
VOICE_COMMUNICATION
- Điều chỉnh để giảm tiếng ồn của gió cho
- Điều khiển tự động
- Được điều chỉnh để nói chuyện gần cho
VOICE_COMMUNICATION
và mic điện thoại chính - Điều chỉnh để nói xa cho
CAMCORDER
- Được điều chỉnh để nói chuyện gần cho
Tài nguyên
Để biết thêm thông tin, hãy tham khảo các tài nguyên sau:
- Tài liệu Android cho gói audiofx
- Tài liệu Android về hiệu ứng âm thanh Khử tiếng ồn
- tệp
/device/google/crosshatch/audio_effects.xml
dành cho Pixel 3