audio_stream_out結構參考
#include < audio.h >
資料欄位 | |
結構體audio_stream | 常見的 |
uint32_t(* | get_latency )(const struct audio_stream_out *stream) |
整數(* | set_volume )(struct audio_stream_out *stream, 向左浮動, 向右浮動) |
大小_t(* | 寫)(struct audio_stream_out *stream, const void *buffer, size_t bytes) |
整數(* | get_render_position )(const struct audio_stream_out *stream,uint32_t *dsp_frames) |
整數(* | get_next_write_timestamp )(const struct audio_stream_out *stream,int64_t *timestamp) |
整數(* | set_callback )(結構audio_stream_out *stream, stream_callback_t回調,void *cookie) |
整數(* | 暫停)(結構audio_stream_out *流) |
整數(* | 恢復)(結構audio_stream_out *流) |
整數(* | 漏極)(結構audio_stream_out *流, audio_drain_type_t型別) |
整數(* | 刷新)(結構audio_stream_out *流) |
整數(* | get_presentation_position )(const struct audio_stream_out *stream,uint64_t *frames,struct timespec *timestamp) |
詳細說明
現場文檔
結構體audio_stream公共 |
音訊流輸出的常用方法。這必須是audio_stream_out的第一個成員,因為該結構的使用者將在已知audio_stream引用audio_stream_out的上下文中將audio_stream強制轉換為audio_stream_out指標。
int(* 汲極)(結構audio_stream_out *流, audio_drain_type_t類型) |
當驅動程式/硬體緩衝的資料已播放時請求通知。如果先前已呼叫set_callback()來啟用非阻塞模式,則rain()不得阻塞,而是應快速返回,並透過回呼通知drain完成。如果set_callback()尚未被調用, drain()必須阻塞直到完成。如果 type==AUDIO_DRAIN_ALL,則在播放所有先前寫入的資料後,排水完成。如果 type==AUDIO_DRAIN_EARLY_NOTIFY,則在當前軌道的所有資料播放完畢之前不久,排水就會完成,以便框架有時間執行無縫軌道切換。
Drain 必須在 stop() 和lush()呼叫後立即返回
對於卸載播放來說,必須實現此功能。
int(*刷新)(結構audio_stream_out *流) |
uint32_t(* get_latency)(const struct audio_stream_out *stream) |
int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp) |
int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp) |
int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames) |
int(* 暫停)(struct audio_stream_out *stream) |
int(*恢復)(結構audio_stream_out *stream) |
int(* set_callback)(結構audio_stream_out *stream, stream_callback_t回調,void *cookie) |
int(* set_volume)(struct audio_stream_out *stream, 向左浮動, 向右浮動) |
ssize_t(* write)(struct audio_stream_out *stream, const void *buffer, size_t bytes) |
將音訊緩衝區寫入驅動程式。傳回寫入的位元組數,或負的 status_t。如果在發生錯誤之前至少成功寫入一幀,則建議驅動程式返回成功的(短)位元組計數,然後在後續呼叫中返回錯誤。
如果先前已呼叫set_callback()來啟用非阻塞模式,則不允許阻塞write() 。它必須僅寫入目前適合驅動程式/硬體緩衝區的位元組數,然後傳回該位元組計數。如果這小於請求的寫入大小,則必須在驅動程式/硬體緩衝區中有更多空間可用時呼叫回調函數。
該結構的文檔是從以下文件產生的:
- 硬體/libhardware/include/hardware/audio.h