音频服务

概述

  • 支持多种类型播放、暂停、恢复、停止等操作

  • 支持音乐播放后自动恢复

  • 支持音量调节及渐入渐出效果

  • 支持最低音量播放

接口定义

播放器事件用户处理函数

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

results matching ""

    No results matching ""