การอ้างอิงโครงสร้าง audio_hw_device

การอ้างอิงโครงสร้าง audio_hw_device

#include < audio.h >

เขตข้อมูล

โครงสร้าง hw_device_t ทั่วไป
uint32_t(* get_supported_devices ) (const struct audio_hw_device *dev)
อินท์(* init_check )(const struct audio_hw_device *dev)
อินท์(* set_voice_volume ) (struct audio_hw_device *dev, ระดับเสียงลอย)
อินท์(* set_master_volume ) (struct audio_hw_device *dev, ระดับเสียงลอย)
อินท์(* get_master_volume ) (struct audio_hw_device *dev, float *volume)
อินท์(* set_mode ) (struct audio_hw_device *dev, โหมด audio_mode_t)
อินท์(* set_mic_mute ) (struct audio_hw_device *dev, สถานะบูล)
อินท์(* get_mic_mute ) (const struct audio_hw_device *dev, bool *state)
อินท์(* set_parameters ) (struct audio_hw_device *dev, const char *kv_pairs)
ถ่าน *(* get_parameters )(const struct audio_hw_device *dev, const char *keys)
ขนาด_t(* get_input_buffer_size ) (const struct audio_hw_device *dev, const struct audio_config *config)
อินท์(* open_output_stream ) (struct audio_hw_device *dev, จัดการ audio_io_handle_t, อุปกรณ์ audio_devices_t, แฟล็ก audio_output_flags_t, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)
เป็นโมฆะ(* close_output_stream ) (struct audio_hw_device *dev, struct audio_stream_out *stream_out)
อินท์(* open_input_stream )(struct audio_hw_device *dev, ตัวควบคุม audio_io_handle_t, อุปกรณ์ audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, แฟล็ก audio_input_flags_t, const char *address, แหล่งที่มา audio_source_t)
เป็นโมฆะ(* close_input_stream ) (struct audio_hw_device *dev, struct audio_stream_in *stream_in)
อินท์(* ดัมพ์ )(const struct audio_hw_device *dev, int fd)
อินท์(* set_master_mute ) (struct audio_hw_device *dev, บูลปิดเสียง)
อินท์(* get_master_mute ) (struct audio_hw_device *dev, bool *mute)
อินท์(* create_audio_patch )(struct audio_hw_device *dev, int num_sources ที่ไม่ได้ลงนาม, const struct audio_port_config *sources, int num_sinks ที่ไม่ได้ลงนาม, const struct audio_port_config *sinks, audio_patch_handle_t *handle)
อินท์(* release_audio_patch ) (struct audio_hw_device *dev, ตัวจัดการ audio_patch_handle_t)
อินท์(* get_audio_port ) (struct audio_hw_device *dev, struct audio_port *port)
อินท์(* set_audio_port_config ) (struct audio_hw_device *dev, const struct audio_port_config *config)

คำอธิบายโดยละเอียด

คำจำกัดความที่บรรทัด 516 ของไฟล์ audio.h

เอกสารภาคสนาม

เป็นโมฆะ (* close_input_stream) (struct audio_hw_device *dev, struct audio_stream_in *stream_in)

คำจำกัดความที่บรรทัด 620 ของไฟล์ audio.h

เป็นโมฆะ (* close_output_stream) (struct audio_hw_device *dev, struct audio_stream_out *stream_out)

คำจำกัดความที่บรรทัด 607 ของไฟล์ audio.h

struct hw_device_t ทั่วไป

วิธีการทั่วไปของอุปกรณ์เสียง นี่ จะต้อง เป็นสมาชิกคนแรกของ audio_hw_device เนื่องจากผู้ใช้ของโครงสร้างนี้จะส่ง hw_device_t ไปยังตัวชี้ audio_hw_device ในบริบทที่ทราบว่า hw_device_t อ้างอิงถึง audio_hw_device

คำจำกัดความที่บรรทัด 522 ของไฟล์ audio.h

int(* create_audio_patch)(struct audio_hw_device *dev, int num_sources ที่ไม่ได้ลงนาม, const struct audio_port_config * แหล่งที่มา, int num_sinks ที่ไม่ได้ลงนาม, const struct audio_port_config * sinks, audio_patch_handle_t *handle)

การควบคุมเส้นทาง

คำจำกัดความที่บรรทัด 648 ของไฟล์ audio.h

int(* ดัมพ์)(const struct audio_hw_device *dev, int fd)

วิธีการนี้จะทิ้งสถานะของฮาร์ดแวร์เสียง

คำจำกัดความที่บรรทัด 624 ของไฟล์ audio.h

int(* get_audio_port)(struct audio_hw_device *dev, struct audio_port *พอร์ต)

คำจำกัดความที่บรรทัด 665 ของไฟล์ audio.h

size_t(* get_input_buffer_size)(const struct audio_hw_device *dev, const struct audio_config *config)

คำจำกัดความที่บรรทัด 588 ของไฟล์ audio.h

int(* get_master_mute)(struct audio_hw_device *dev, bool *mute)

รับสถานะการปิดเสียงหลักในปัจจุบันสำหรับ HAL หาก HAL รองรับการควบคุมการปิดเสียงหลัก AudioFlinger จะสอบถามค่านี้จาก HAL เสียงหลักเมื่อบริการเริ่มต้น และใช้ค่าสำหรับการตั้งค่าการปิดเสียงหลักเริ่มต้นใน HAL ทั้งหมด HAL ที่ไม่สนับสนุนวิธีนี้อาจทำให้ตั้งค่าเป็น NULL

คำจำกัดความที่บรรทัด 639 ของไฟล์ audio.h

int(* get_master_volume)(struct audio_hw_device *dev, float *volume)

รับค่าระดับเสียงหลักปัจจุบันสำหรับ HAL หาก HAL รองรับการควบคุมระดับเสียงหลัก AudioFlinger จะสอบถามค่านี้จาก HAL เสียงหลักเมื่อบริการเริ่มต้น และใช้ค่าสำหรับการตั้งค่าระดับเสียงหลักเริ่มต้นใน HAL ทั้งหมด HAL ที่ไม่สนับสนุนวิธีนี้อาจทำให้ตั้งค่าเป็น NULL

คำจำกัดความที่บรรทัด 561 ของไฟล์ audio.h

int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state)

คำจำกัดความที่บรรทัด 572 ของไฟล์ audio.h

ถ่าน*(* get_parameters)(const struct audio_hw_device *dev, const char *keys)

คำจำกัดความที่บรรทัด 581 ของไฟล์ audio.h

uint32_t(* get_supported_devices)(const struct audio_hw_device *dev)

ใช้โดย audio flinger เพื่อระบุอุปกรณ์ที่รองรับโดยการใช้งาน audio_hw_device แต่ละรายการ

ค่าที่ส่งคืนคือบิตมาสก์ของค่า audio_devices_t 1 ค่าขึ้นไป

หมายเหตุ: การใช้งานเสียง HAL ที่เริ่มต้นด้วย AUDIO_DEVICE_API_VERSION_2_0 จะไม่ใช้ฟังก์ชันนี้ อุปกรณ์ที่รองรับทั้งหมดควรแสดงรายการอยู่ในไฟล์ audio_policy.conf และตัวจัดการนโยบายเสียงจะต้องเลือกโมดูลเสียงที่เหมาะสมตามข้อมูลในไฟล์นี้

คำจำกัดความที่บรรทัด 536 ของไฟล์ audio.h

int(* init_check)(const struct audio_hw_device *dev)

ตรวจสอบเพื่อดูว่าอินเทอร์เฟซฮาร์ดแวร์เสียงได้รับการเตรียมใช้งานแล้วหรือไม่ ส่งคืน 0 เมื่อสำเร็จ -ENODEV เมื่อล้มเหลว

คำจำกัดความที่บรรทัด 542 ของไฟล์ audio.h

int(* open_input_stream)(struct audio_hw_device *dev, audio_io_handle_t handle, อุปกรณ์ audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, แฟล็ก audio_input_flags_t, const char *address, แหล่งที่มา audio_source_t)

วิธีการนี้จะสร้างและเปิดสตรีมอินพุตฮาร์ดแวร์เสียง

คำจำกัดความที่บรรทัด 611 ของไฟล์ audio.h

int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t handle, อุปกรณ์ audio_devices_t, แฟล็ก audio_output_flags_t, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)

วิธีการนี้จะสร้างและเปิดสตรีมเอาท์พุตฮาร์ดแวร์เสียง พารามิเตอร์ "ที่อยู่" จะกำหนดประเภทอุปกรณ์เสียง "อุปกรณ์" หากจำเป็น รูปแบบรูปแบบขึ้นอยู่กับประเภทอุปกรณ์:

  • อุปกรณ์ Bluetooth ใช้ที่อยู่ MAC ของอุปกรณ์ในรูปแบบ "00:11:22:AA:BB:CC"
  • อุปกรณ์ USB ใช้การ์ด ALSA และหมายเลขอุปกรณ์ในรูปแบบ "card=X;device=Y"
  • อุปกรณ์อื่นๆ อาจใช้ตัวเลขหรือสตริงอื่นๆ

คำจำกัดความที่บรรทัด 599 ของไฟล์ audio.h

int (* release_audio_patch) (struct audio_hw_device * dev, ตัวจัดการ audio_patch_handle_t)

คำจำกัดความที่บรรทัด 656 ของไฟล์ audio.h

int(* set_audio_port_config)(struct audio_hw_device *dev, const struct audio_port_config *config)

คำจำกัดความที่บรรทัด 669 ของไฟล์ audio.h

int(* set_master_mute)(struct audio_hw_device *dev, บูลปิดเสียง)

ตั้งค่าสถานะการปิดเสียงสำหรับกิจกรรมเสียงทั้งหมด หากส่งคืนค่าอื่นที่ไม่ใช่ 0 ตัวผสมซอฟต์แวร์จะจำลองความสามารถนี้

คำจำกัดความที่บรรทัด 630 ของไฟล์ audio.h

int(* set_master_volume)(struct audio_hw_device *dev, ระดับเสียงลอย)

ตั้งค่าระดับเสียงสำหรับกิจกรรมเสียงทั้งหมดนอกเหนือจากการโทรด้วยเสียง ช่วงระหว่าง 0.0 ถึง 1.0 หากส่งคืนค่าอื่นที่ไม่ใช่ 0 ตัวผสมซอฟต์แวร์จะจำลองความสามารถนี้

คำจำกัดความที่บรรทัด 552 ของไฟล์ audio.h

int(* set_mic_mute)(struct audio_hw_device *dev, สถานะบูล)

คำจำกัดความที่บรรทัด 571 ของไฟล์ audio.h

int(* set_mode)(struct audio_hw_device *dev, โหมด audio_mode_t)

set_mode จะถูกเรียกเมื่อโหมดเสียงเปลี่ยนแปลง โหมด AUDIO_MODE_NORMAL ใช้สำหรับการเล่นเสียงมาตรฐาน AUDIO_MODE_RINGTONE เมื่อกำลังเล่นเสียงเรียกเข้า และ AUDIO_MODE_IN_CALL เมื่ออยู่ระหว่างการโทร

คำจำกัดความที่บรรทัด 568 ของไฟล์ audio.h

int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs)

คำจำกัดความที่บรรทัด 575 ของไฟล์ audio.h

int(* set_voice_volume)(struct audio_hw_device *dev, ระดับเสียงลอย)

ตั้งค่าระดับเสียงของการโทรด้วยเสียง ช่วงอยู่ระหว่าง 0.0 ถึง 1.0

คำจำกัดความที่บรรทัด 545 ของไฟล์ audio.h


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
  • ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / audio.h