音频服务
概述
支持多种类型播放、暂停、恢复、停止等操作
支持音乐播放后自动恢复
支持音量调节及渐入渐出效果
支持最低音量播放
接口定义
播放器事件用户处理函数
typedef void (*media_evt_t)(int type, const char *url, aui_player_evtid_t evt_id, const void *data, size_t size);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- url:音频资源
- file:///fatfs0/Music/1.mp3 SD卡中的音频文件
- http://.../1.mp3 http音频
- fifo://tts/1 播放云端反馈的tts流
- mem://addr=%u&size=%u 播放存放在ram中资源
- evt_id:事件类型
- AUI_PLAYER_EVENT_ERROR
- AUI_PLAYER_EVENT_START
- AUI_PLAYER_EVENT_FINISH
- data:数据存放地址
- size:数据大小
初始化音频服务
int aui_player_init(utask_t *task, media_evt_t evt_cb);
- 参数
- task:utask_t 指针
- evt_cb:事件回调函数
- 返回值:
- 成功返回0,失败返回-1
初始化默认配置值
int aui_player_config_init(aui_player_config_t *config);
- 参数
- config:配置参数
- 返回值:
- 成功返回0,失败返回-1
配置参数
int aui_player_config(const aui_player_config_t *config);
- 参数
- config:配置参数
- 返回值:
- 成功返回0,失败返回-1
播放音频,强制停止已经在播的音乐
int aui_player_play(int type, const char *url, int resume);
int aui_player_seek_play(int type, const char *url, uint64_t seek_time, int resume);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- url:音频资源
- file:///fatfs0/Music/1.mp3 SD卡中的音频文件
- http://.../1.mp3 http音频
- fifo://tts/1 播放云端反馈的tts流
- mem://addr=%u&size=%u 播放存放在ram中资源
- resume:自动重启音乐(0:手动 1:自动)
- seek_time:播放偏移时间
- 返回值:
- 成功返回0,失败返回-1
暂停播放
int aui_player_pause(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- 返回值:
- 成功返回0,失败返回-1
暂停状态继续播放和静音状态恢复播放
int aui_player_resume(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- 返回值:
- 成功返回0,失败返回-1
停止播放器
int aui_player_stop(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- 返回值:
- 成功返回0,失败返回-1
播放器seek
int aui_player_seek(int type, uint64_t seek_time);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- seek_time:seek时间,单位ms
- 返回值:
- 成功返回0,失败返回-1
播放器静音,调用aui_player_resume接口恢复音频输出
int aui_player_mute(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- 返回值:
- 成功返回0,失败返回-1
取消播放器静音
int aui_player_unmute(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- 返回值:
- 成功返回0,失败返回-1
调整音量
int aui_player_vol_adjust(int type, int inc_volume);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- inc_volume:正数加大,负数减小
- 返回值:
- 成功返回0,失败返回-1
调整音量到指定值
int aui_player_vol_set(int type, int volume);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- volume:音量值(0~100)
- 返回值:
- 成功返回0,失败返回-1
渐变调整音量到指定值
int aui_player_vol_gradual(int type, int new_volume, int ms);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- volume:音量值(0~100)
- ms:渐变时间
- 返回值:
- 成功返回0,失败返回-1
获取当前音量值
int aui_player_vol_get(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- 返回值:
- 成功返回0,失败返回-1
设置播放时最小音量
int aui_player_set_minvol(int type, int volume);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM,MEDIA_ALL)
- volume:音量值(0~100)
- 返回值:
- 成功返回0,失败返回-1
获取指定播放器的状态
aui_player_state_t aui_player_get_state(int type);
- 参数
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- 返回值:
- 成功返回0,失败返回-1
恢复音乐播放(有音量渐变效果)
int aui_player_resume_music(void);
- 参数
- 无
- 返回值:
- 成功返回0,失败返回-1
配置EQ参数
int aui_player_eq_config(eqfp_t *eq_segments, int count);
- 参数:
- eq_segments:EQ段配置数组
- count:段个数
- 返回值:
- 成功返回0,失败返回-1
配置获取密钥回调
int aui_player_key_config(media_key_cb_t cb);
- 参数:
- cb:密钥回调
- 返回值:
- 成功返回0,失败返回-1
获取播放时间
int aui_player_get_time(int type, aui_play_time_t *t);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- t:播放时长
- 返回值:
- 成功返回0,失败返回-1
获取播放速度
int aui_player_get_speed(int type, float *speed);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- speed:播放速度
- 返回值:
- 成功返回0,失败返回-1
设置播放速度
int aui_player_set_speed(int type, float speed);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- speed:播放速度
- 返回值:
- 成功返回0,失败返回-1
获取媒体信息
int aui_player_get_media_info(int type, xmedia_info_t *minfo);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- minfo:媒体信息
- 返回值:
- 成功返回0,失败返回-1
切换音频轨道
int aui_player_switch_audio_track(int type, uint8_t idx);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- idx:音频索引
- 返回值:
- 成功返回0,失败返回-1
切换字幕类型
int aui_player_switch_subtitle_track(int type, uint8_t idx);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- idx:字幕索引
- 返回值:
- 成功返回0,失败返回-1
设置字幕外部副标题
int aui_player_set_subtitle_url(int type, const char *url);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- url:音频资源
- 返回值:
- 成功返回0,失败返回-1
隐藏/显示副标题
int aui_player_set_subtitle_visible(int type, uint8_t visible);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- visible:可见的副标题
- 返回值:
- 成功返回0,失败返回-1
隐藏/显示视频
int aui_player_set_video_visible(int type, uint8_t visible);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- visible:可见的视频
- 返回值:
- 成功返回0,失败返回-1
裁剪视频
int aui_player_set_video_crop(int type, const xwindow_t *win);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- win:窗口
- 返回值:
- 成功返回0,失败返回-1
设置显示窗口
int aui_player_set_display_window(int type, const xwindow_t *win);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- win:窗口
- 返回值:
- 成功返回0,失败返回-1
打开/关闭全屏
int aui_player_set_fullscreen(int type, uint8_t onoff);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- onoff:开启状态
- 返回值:
- 成功返回0,失败返回-1
设置显示格式
int aui_player_set_display_format(int type, xdisplay_format_t format);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- format:显示的格式
- 返回值:
- 成功返回0,失败返回-1
视频旋转
int aui_player_set_video_rotate(int type, xrotate_type_t rotate_type);
- 参数:
- type:播放类型(支持MEDIA_MUSIC,MEDIA_SYSTEM)
- rotate_type:旋转类型
- 返回值:
- 成功返回0,失败返回-1