TuyaOS
tkl_cellular_player.h
浏览该文件的文档.
1
8#ifndef __TKL_CELLULAR_PLAYER_H__
9#define __TKL_CELLULAR_PLAYER_H__
10#include <stdint.h>
11#include "tuya_cloud_types.h"
12#include "tkl_cellular_call.h"
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17
18
25typedef enum
26{
29
30
31typedef void (*TKL_AUDIO_PLAYER_CB)(void *param, TKL_AUDIO_PLAYER_EVENT_E event);
32
33typedef enum
34{
52
53typedef enum
54{
55 TKL_AUSAMPLE_S16,
56} TKL_AUDIO_SAMPLE_FORMAT_T;
57
64typedef struct
65{
69 TKL_AUDIO_SAMPLE_FORMAT_T sampleFormat;
73 UINT8_T channelCount;
74
75 UINT8_T flags;
79 UINT_T sampleRate;
89 PUINT_T data;
93 UINT_T bytes;
95
96typedef enum
97{
101
102typedef struct
103{
119 BOOL_T (*get_frame)(PVOID_T param, TKL_AUDIO_FRAME_T *frame);
120
130 VOID (*data_consumed)(PVOID_T param, UINT_T bytes);
137 VOID (*handle_event)(PVOID_T param, TKL_AUDIO_PLAYER_EVENT_E event);
139
143typedef enum
144{
150
154typedef enum
155{
164
168typedef enum
169{
170 TKL_AUDEV_INPUT_MAINMIC = 0, /*< 主麦克 */
171 TKL_AUDEV_INPUT_AUXMIC = 1, /*< 辅麦克 */
172 TKL_AUDEV_INPUT_DUALMIC = 2, /*< 主麦克 + 辅麦克 */
173 TKL_AUDEV_INPUT_HPMIC_L = 3, /*< 头戴左麦克 */
174 TKL_AUDEV_INPUT_HPMIC_R = 4, /*< 头戴右麦克 */
176
180typedef enum
181{
182 TKL_AUDEV_OUTPUT_RECEIVER = 0, /*< 接收器 */
183 TKL_AUDEV_OUTPUT_HEADPHONE = 1, /*< 头戴 */
184 TKL_AUDEV_OUTPUT_SPEAKER = 2, /*< 扬声器 */
186
199 TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
200
201
202
209
216
222OPERATE_RET tkl_cellular_player_stop(VOID);
223
229OPERATE_RET tkl_cellular_player_set_vol(INT_T vol);
230
236OPERATE_RET tkl_cellular_player_get_vol(PINT_T vol);
237
244OPERATE_RET tkl_cellular_player_set_mute(BOOL_T mute);
245
251OPERATE_RET tkl_cellular_player_get_mute(PBOOL_T mute);
252
253
267 TKL_AUDIO_STREAM_FORMAT_E format, PBYTE_T buff,
268 UINT_T size,TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
269
270
277
284
291
298
305
306
318 PVOID_T playCtx, CONST TKL_AUDIO_FRAME_T* frame);
319
326
327
328#ifdef __cplusplus
329}
330#endif
331
332#endif
audio frame
Definition: tkl_cellular_player.h:65
PUINT_T data
Definition: tkl_cellular_player.h:89
TKL_AUDIO_SAMPLE_FORMAT_T sampleFormat
Definition: tkl_cellular_player.h:69
UINT_T sampleRate
Definition: tkl_cellular_player.h:79
UINT_T bytes
Definition: tkl_cellular_player.h:93
UINT_T sampleStamp
Definition: tkl_cellular_player.h:84
UINT8_T channelCount
Definition: tkl_cellular_player.h:73
Definition: tkl_cellular_player.h:103
蜂窝模组电话拨号API实现接口。
OPERATE_RET tkl_cellular_player_set_vol(INT_T vol)
设置音频播放的音量
TKL_AUDEV_INPUT_TYPE
音频输入设备类型定义
Definition: tkl_cellular_player.h:169
OPERATE_RET tkl_cellular_player_get_status(TKL_AUDIO_PLAYER_STATUS_E *status)
获取音频当前的播放状态
OPERATE_RET tkl_cellular_player_resume(VOID)
恢复暂停的的音频
TKL_AUDEV_OUTPUT_TYPE
音频输出设备类型定义
Definition: tkl_cellular_player.h:181
OPERATE_RET tkl_cellular_player_set_audio_input(TKL_AUDEV_INPUT_TYPE chan)
设置音频输入设备
OPERATE_RET tkl_cellular_player_get_audio_output(TKL_AUDEV_OUTPUT_TYPE *chan)
获取音频输出设备
OPERATE_RET tkl_cellular_player_stop_stream(VOID)
停止流媒体播放
TKL_AUDIO_PLAYER_STATUS_E
audio player status
Definition: tkl_cellular_player.h:144
@ TKL_AUPLAYER_STATUS_FINISHED
playback is finished
Definition: tkl_cellular_player.h:148
@ TKL_AUPLAYER_STATUS_PLAY
playback is started
Definition: tkl_cellular_player.h:146
@ TKL_AUPLAYER_STATUS_PAUSE
playback is paused
Definition: tkl_cellular_player.h:147
@ TKL_AUPLAYER_STATUS_IDLE
playback not started
Definition: tkl_cellular_player.h:145
TKL_AUDIO_STREAM_FORMAT_E
audio stream format
Definition: tkl_cellular_player.h:155
@ TY_AUSTREAM_FORMAT_UNKNOWN
placeholder for unknown format
Definition: tkl_cellular_player.h:156
@ TY_AUSTREAM_FORMAT_AMRWB
AMR_WB
Definition: tkl_cellular_player.h:161
@ TY_AUSTREAM_FORMAT_MP3
MP3
Definition: tkl_cellular_player.h:159
@ TY_AUSTREAM_FORMAT_AMRNB
AMR-NB
Definition: tkl_cellular_player.h:160
@ TY_AUSTREAM_FORMAT_SBC
bt SBC
Definition: tkl_cellular_player.h:162
@ TY_AUSTREAM_FORMAT_WAVPCM
WAV, PCM inside
Definition: tkl_cellular_player.h:158
@ TY_AUSTREAM_FORMAT_PCM
raw PCM data
Definition: tkl_cellular_player.h:157
OPERATE_RET tkl_cellular_player_get_audio_input(TKL_AUDEV_INPUT_TYPE *chan)
获取音频输入设备
TKL_AUDIO_FRAME_FLAGS_T
Definition: tkl_cellular_player.h:97
@ TKL_AUFRAME_FLAG_END
indicate end of stream
Definition: tkl_cellular_player.h:99
@ TKL_AUFRAME_FLAG_START
indicate start of stream
Definition: tkl_cellular_player.h:98
TKL_AUDIO_PLAYER_TYPE_E
Definition: tkl_cellular_player.h:34
@ TKL_AUDEV_PLAY_TYPE_NONE
Definition: tkl_cellular_player.h:38
@ TKL_AUDEV_PLAY_TYPE_LOCAL
Definition: tkl_cellular_player.h:42
@ TKL_AUDEV_PLAY_TYPE_POC
Definition: tkl_cellular_player.h:50
@ TKL_AUDEV_PLAY_TYPE_VOICE
Definition: tkl_cellular_player.h:46
OPERATE_RET tkl_cellular_player_start_stream(TKL_AUDIO_PLAYER_TYPE_E type, CONST TKL_AUDIO_PLAY_OPS_T *playOps, PVOID_T playCtx, CONST TKL_AUDIO_FRAME_T *frame)
播放流媒体音频
OPERATE_RET tkl_cellular_player_mem_start(TKL_AUDIO_PLAYER_TYPE_E type, TKL_AUDIO_STREAM_FORMAT_E format, PBYTE_T buff, UINT_T size, TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx)
播放一个音频内存
OPERATE_RET tkl_cellular_player_set_audio_output(TKL_AUDEV_OUTPUT_TYPE chan)
设置音频输出设备
OPERATE_RET tkl_cellular_player_set_mute(BOOL_T mute)
设置音频输出设备的是否静音。这个属性不会被保存到flash中。 每次重启后,都会变成非静音
OPERATE_RET tkl_cellular_player_get_vol(PINT_T vol)
获取音频播放的音量
OPERATE_RET tkl_cellular_player_get_mute(PBOOL_T mute)
获取音频输出设备的是否静音。
OPERATE_RET tkl_cellular_player_stop(VOID)
停止正在播放的的音频
OPERATE_RET tkl_cellular_player_pause(VOID)
暂停正在播放的音频
TKL_AUDIO_PLAYER_EVENT_E
audio player event
Definition: tkl_cellular_player.h:26
@ TKL_AUPLAYER_EVENT_FINISHED
playback finished, or fatal error
Definition: tkl_cellular_player.h:27
OPERATE_RET tkl_cellular_player_start(TKL_AUDIO_PLAYER_TYPE_E type, TKL_AUDIO_STREAM_FORMAT_E format, PCHAR_T file_path, TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx)
播放一个音频文件