Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Tài liệu tham khảo về cấu trúc audio_hw_device
#include <
audio.h
>
|
struct
hw_device_t
|
common
|
|
uint32_t(*
|
get_supported_devices
)(const struct
audio_hw_device
*dev)
|
|
int(*
|
init_check
)(const struct
audio_hw_device
*dev)
|
|
int(*
|
set_voice_volume
)(struct
audio_hw_device
*dev, float volume)
|
|
int(*
|
set_master_volume
)(struct
audio_hw_device
*dev, float volume)
|
|
int(*
|
get_master_volume
)(struct
audio_hw_device
*dev, float *volume)
|
|
int(*
|
set_mode
)(struct
audio_hw_device
*dev, audio_mode_t mode)
|
|
int(*
|
set_mic_mute
)(struct
audio_hw_device
*dev, bool state)
|
|
int(*
|
get_mic_mute
)(const struct
audio_hw_device
*dev, bool *state)
|
|
int(*
|
set_parameters
)(struct
audio_hw_device
*dev, const char *kv_pairs)
|
|
char *(*
|
get_parameters
)(const struct
audio_hw_device
*dev, const char *keys)
|
|
size_t(*
|
get_input_buffer_size
)(const struct
audio_hw_device
*dev, const struct audio_config *config)
|
|
int(*
|
open_output_stream
)(struct
audio_hw_device
*dev, audio_io_handle_t handle, audio_devices_t devices, audio_output_flags_t flags, struct audio_config *config, struct
audio_stream_out
**stream_out, const char *address)
|
|
void(*
|
close_output_stream
)(struct
audio_hw_device
*dev, struct
audio_stream_out
*stream_out)
|
|
int(*
|
open_input_stream
)(struct
audio_hw_device
*dev, audio_io_handle_t handle, audio_devices_t devices, struct audio_config *config, struct
audio_stream_in
**stream_in, audio_input_flags_t flags, const char *address, audio_source_t source)
|
|
void(*
|
close_input_stream
)(struct
audio_hw_device
*dev, struct
audio_stream_in
*stream_in)
|
|
int(*
|
dump
)(const struct
audio_hw_device
*dev, int fd)
|
|
int(*
|
set_master_mute
)(struct
audio_hw_device
*dev, bool mute)
|
|
int(*
|
get_master_mute
)(struct
audio_hw_device
*dev, bool *mute)
|
|
int(*
|
create_audio_patch
)(struct
audio_hw_device
*dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *handle)
|
|
int(*
|
release_audio_patch
)(struct
audio_hw_device
*dev, audio_patch_handle_t handle)
|
|
int(*
|
get_audio_port
)(struct
audio_hw_device
*dev, struct audio_port *port)
|
|
int(*
|
set_audio_port_config
)(struct
audio_hw_device
*dev, const struct audio_port_config *config)
|
|
Định nghĩa tại dòng
516
của tệp
audio.h
.
int(* create_audio_patch)(struct
audio_hw_device
*dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *handle)
|
Điều khiển định tuyến
Định nghĩa tại dòng
648
của tệp
audio.h
.
Phương thức này kết xuất trạng thái của phần cứng âm thanh
Định nghĩa tại dòng
624
của tệp
audio.h
.
int(* get_audio_port)(struct
audio_hw_device
*dev, struct audio_port *port)
|
size_t(* get_input_buffer_size)(const struct
audio_hw_device
*dev, const struct audio_config *config)
|
Nhận trạng thái tắt tiếng chính hiện tại cho HAL, nếu HAL hỗ trợ chế độ điều khiển tắt tiếng chính. AudioFlinger sẽ truy vấn giá trị này từ HAL âm thanh chính khi dịch vụ khởi động và sử dụng giá trị này để đặt chế độ tắt tiếng chính ban đầu trên tất cả HAL. Các HAL không hỗ trợ phương thức này có thể đặt phương thức này thành NULL.
Định nghĩa tại dòng
639
của tệp
audio.h
.
Lấy giá trị âm lượng chính hiện tại cho HAL, nếu HAL hỗ trợ chức năng điều khiển âm lượng chính. AudioFlinger sẽ truy vấn giá trị này từ HAL âm thanh chính khi dịch vụ khởi động và sử dụng giá trị này để đặt âm lượng chính ban đầu trên tất cả HAL. Các HAL không hỗ trợ phương thức này có thể đặt phương thức này thành NULL.
Định nghĩa tại dòng
561
của tệp
audio.h
.
char*(* get_parameters)(const struct
audio_hw_device
*dev, const char *keys)
|
được audio flinger sử dụng để liệt kê những thiết bị được hỗ trợ bởi từng phương thức triển khai
audio_hw_device
.
Giá trị trả về là một mặt nạ bit gồm 1 hoặc nhiều giá trị của audio_devices_t
LƯU Ý: các phương thức triển khai HAL âm thanh bắt đầu bằng AUDIO_DEVICE_API_VERSION_2_0 không triển khai hàm này. Tất cả thiết bị được hỗ trợ phải được liệt kê trong tệp audio_policy.conf và trình quản lý chính sách âm thanh phải chọn mô-đun âm thanh phù hợp dựa trên thông tin trong tệp này.
Định nghĩa tại dòng
536
của tệp
audio.h
.
kiểm tra xem giao diện phần cứng âm thanh đã được khởi chạy hay chưa. trả về 0 nếu thành công, -ENODEV nếu không thành công.
Định nghĩa tại dòng
542
của tệp
audio.h
.
int(* open_input_stream)(struct
audio_hw_device
*dev, audio_io_handle_t handle, audio_devices_t devices, struct audio_config *config, struct
audio_stream_in
**stream_in, audio_input_flags_t flags, const char *address, audio_source_t source)
|
Phương thức này tạo và mở luồng đầu vào phần cứng âm thanh
Định nghĩa tại dòng
611
của tệp
audio.h
.
int(* open_output_stream)(struct
audio_hw_device
*dev, audio_io_handle_t handle, audio_devices_t devices, audio_output_flags_t flags, struct audio_config *config, struct
audio_stream_out
**stream_out, const char *address)
|
Phương thức này tạo và mở luồng đầu ra phần cứng âm thanh. Tham số "address" (địa chỉ) xác định loại thiết bị âm thanh "devices" (thiết bị) nếu cần. Định dạng phụ thuộc vào loại thiết bị:
-
Các thiết bị Bluetooth sử dụng địa chỉ MAC của thiết bị ở dạng "00:11:22:AA:BB:CC"
-
Các thiết bị USB sử dụng thẻ ALSA và số thiết bị ở dạng "card=X;device=Y"
-
Các thiết bị khác có thể sử dụng số hoặc bất kỳ chuỗi nào khác.
Định nghĩa tại dòng
599
của tệp
audio.h
.
int(* release_audio_patch)(struct
audio_hw_device
*dev, audio_patch_handle_t handle)
|
int(* set_audio_port_config)(struct
audio_hw_device
*dev, const struct audio_port_config *config)
|
đặt trạng thái tắt âm thanh cho tất cả hoạt động âm thanh. Nếu trả về giá trị khác 0, bộ trộn phần mềm sẽ mô phỏng chức năng này.
Định nghĩa tại dòng
630
của tệp
audio.h
.
đặt âm lượng cho tất cả hoạt động âm thanh khác ngoài cuộc gọi thoại. Phạm vi từ 0 đến 1. Nếu trả về giá trị khác 0, bộ trộn phần mềm sẽ mô phỏng chức năng này.
Định nghĩa tại dòng
552
của tệp
audio.h
.
set_mode được gọi khi chế độ âm thanh thay đổi. Chế độ AUDIO_MODE_NORMAL dùng để phát âm thanh chuẩn, AUDIO_MODE_RINGTONE khi đang phát nhạc chuông và AUDIO_MODE_IN_CALL khi đang thực hiện cuộc gọi.
Định nghĩa tại dòng
568
của tệp
audio.h
.
đặt âm lượng của cuộc gọi thoại. Phạm vi nằm trong khoảng từ 0 đến 1
Định nghĩa tại dòng
545
của tệp
audio.h
.
Tài liệu cho cấu trúc này được tạo từ tệp sau:
-
hardware/libhardware/include/hardware/
audio.h
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-03-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-03-26 UTC."],[],[]]