audio_hw_device مرجع ساختار

audio_hw_device مرجع ساختار

#include < audio.h >

فیلدهای داده

ساخت hw_device_t مشترک
uint32_t(* get_supported_devices )( ساخت 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)
کاراکتر *(* 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 دستگاه ها، audio_output_flags_t flags، 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)
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)
خالی(* 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)

توصیف همراه با جزئیات

تعریف در خط 516 فایل audio.h .

مستندات میدانی

void(* close_input_stream)(struct audio_hw_device *dev, struct audio_stream_in *stream_in)

تعریف در خط 620 فایل audio.h .

void(* 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, 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)

کنترل مسیریابی

تعریف در خط 648 فایل audio.h .

int(* dump)(const struct audio_hw_device *dev, int fd)

این روش وضعیت سخت افزار صوتی را تخلیه می کند

تعریف در خط 624 فایل audio.h .

int(* get_audio_port)(struct audio_hw_device *dev, struct audio_port *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 .

char*(* 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 پشتیبانی می شود استفاده می شود.

مقدار بازگشتی یک بیت ماسک از 1 یا چند مقدار audio_devices_t است

توجه: اجرای 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 devices, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t flags, const char * address, audio_source_t source)

این روش جریان ورودی سخت افزار صوتی را ایجاد و باز می کند

تعریف در خط 611 فایل 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)

این روش جریان خروجی سخت افزار صوتی را ایجاد و باز می کند. پارامتر "آدرس" نوع دستگاه صوتی "دستگاه ها" را در صورت نیاز واجد شرایط می کند. فرمت قالب بستگی به نوع دستگاه دارد:

  • دستگاه های بلوتوث از آدرس 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 handle)

تعریف در خط 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, bool mute)

وضعیت قطع صدا را برای تمام فعالیت های صوتی تنظیم کنید. اگر مقداری غیر از 0 برگردانده شود، میکسر نرم افزار این قابلیت را شبیه سازی می کند.

تعریف در خط 630 فایل audio.h .

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

میزان صدا را برای همه فعالیت های صوتی به غیر از تماس صوتی تنظیم کنید. محدوده بین 0.0 و 1.0. اگر مقداری غیر از 0 برگردانده شود، میکسر نرم افزار این قابلیت را شبیه سازی می کند.

تعریف در خط 552 فایل audio.h .

int(* set_mic_mute)(struct audio_hw_device *dev, bool state)

تعریف در خط 571 فایل audio.h .

int(* set_mode)(struct audio_hw_device *dev, audio_mode_t mode)

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, float volume)

میزان صدای تماس صوتی را تنظیم کنید. محدوده بین 0.0 و 1.0 است

تعریف در خط 545 فایل audio.h .


مستندات این ساختار از فایل زیر تولید شده است:
  • hardware/libhardware/include/hardware/ audio.h