ข้อมูลอ้างอิงเกี่ยวกับโครงสร้าง audio_stream_in
#include <
audio.h
>
ฟิลด์ข้อมูล |
|
struct audio_stream | common |
int(* | set_gain )(struct audio_stream_in *stream, float gain) |
ssize_t(* | read )(struct audio_stream_in *stream, void *buffer, size_t bytes) |
uint32_t(* | get_input_frames_lost )(struct audio_stream_in *stream) |
int(* | get_capture_position )(const struct audio_stream_in *stream, int64_t *frames, int64_t *time) |
คำอธิบายโดยละเอียด
เอกสารประกอบในสนาม
struct audio_stream common |
วิธีการทั่วไปของสตรีมเสียงใน ข้อมูลนี้ ต้อง เป็นสมาชิกแรกของ audio_stream_in เนื่องจากผู้ใช้โครงสร้างนี้จะแคสต์ audio_stream ไปยัง audio_stream_in พอยน์เตอร์ในบริบทที่ทราบว่า audio_stream อ้างอิงถึง audio_stream_in
int(* get_capture_position)(const struct audio_stream_in *stream, int64_t *frames, int64_t *time) |
แสดงผลจํานวนเฟรมเสียงล่าสุดที่ได้รับและเวลาตามนาฬิกาที่เชื่อมโยงกับจํานวนเฟรมนั้น
frames คือจำนวนเฟรมทั้งหมดที่ได้รับ ซึ่งควรอยู่ในไปป์ไลน์การบันทึกตั้งแต่เนิ่นๆ โดยทั่วไปแล้ว เฟรมไม่ควรเป็นค่าลบและไม่ควร "ย้อนกลับ"
time คือเวลาแบบ MONOTONIC ของนาฬิกาเมื่อวัดเฟรม โดยทั่วไปแล้ว เวลาควรเป็นปริมาณบวกและไม่ควร "ย้อนกลับ"
สถานะที่แสดงผลคือ 0 หากสําเร็จ -ENOSYS หากอุปกรณ์ไม่พร้อม/ใช้งานไม่ได้ หรือ -EINVAL หากอาร์กิวเมนต์เป็นค่าว่างหรือไม่ถูกต้อง
uint32_t(* get_input_frames_lost)(struct audio_stream_in *stream) |
แสดงจํานวนเฟรมอินพุตที่สูญหายในไดรเวอร์เสียงนับตั้งแต่การเรียกใช้ฟังก์ชันนี้ครั้งล่าสุด คาดว่าไดรเวอร์เสียงจะรีเซ็ตค่าเป็น 0 และเริ่มนับใหม่เมื่อส่งคืนค่าปัจจุบันโดยการเรียกใช้ฟังก์ชันนี้ โดยปกติแล้วการสูญเสียดังกล่าวจะเกิดขึ้นเมื่อกระบวนการในพื้นที่ผู้ใช้ถูกบล็อกนานกว่าความจุของบัฟเฟอร์ของไดรเวอร์เสียง
หน่วย: จำนวนเฟรมเสียงอินพุต
ssize_t(* read)(struct audio_stream_in *stream, void *buffer, size_t bytes) |
int(* set_gain)(struct audio_stream_in *stream, float gain) |
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ audio.h