audio_stream_out结构参考
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