这一层是对外提供的接口,用户只与这一层交互即可。
struct aic_player *aic_player_create(char *uri);
s32 aic_player_destroy(struct aic_player *player);
s32 aic_player_set_uri(struct aic_player *player,char *uri);
s32 aic_player_prepare_async(struct aic_player *player);
s32 aic_player_prepare_sync(struct aic_player *player);
s32 aic_player_start(struct aic_player *player);
s32 aic_player_play(struct aic_player *player);
s32 aic_player_pause(struct aic_player *player);
s32 aic_player_stop(struct aic_player *player);
s32 aic_player_get_media_info(struct aic_player *player,struct av_media_info *media_info);
s32 aic_player_set_event_callback(struct aic_player *player,void* app_data,event_handler event_handle );
s32 aic_player_get_screen_size(struct aic_player *player,struct mpp_size *screen_size);
s32 aic_player_set_disp_rect(struct aic_player *player,struct mpp_rect *disp_rect);
s32 aic_player_get_disp_rect(struct aic_player *player,struct mpp_rect *disp_rect);
s32 aic_player_set_mute(struct aic_player *player);
s32 aic_player_set_volum(struct aic_player *player,s32 vol);
s32 aic_player_get_volum(struct aic_player *player,s32 *vol);
s64 aic_player_get_play_time(struct aic_player *player);
s32 aic_player_seek(struct aic_player *player, u64 seek_time);
s32 aic_player_capture(struct aic_player *player, struct aic_capture_info *capture_info);
s32 aic_player_set_rotation(struct aic_player *player, int rotation_angle);
s32 aic_player_get_rotation(struct aic_player *player);
表 1. aic_player_create
函数原型 |
struct aic_player *aic_player_create(char *uri) |
功能说明 |
创建 player 对象 |
参数定义 |
uri:媒体文件路径 |
返回值 |
palyer 对象 |
注意事项 |
- |
表 2. aic_player_destroy
函数原型 |
s32 aic_player_destroy(struct aic_player *player) |
功能说明 |
销毁 player 对象 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 IDLE 和 STOPPED 状态起作用 |
表 3. aic_player_set_uri
函数原型 |
s32 aic_player_set_uri(struct aic_player *player,char
*uri) |
功能说明 |
设置媒体文件路径 |
参数定义 |
player:player 对象,uri:媒体文件路径 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 IDLE 和 STOPPED 状态起作用 |
表 4. aic_player_prepare_async
函数原型 |
s32 aic_player_prepare_async(struct aic_player *player) |
功能说明 |
异步解析媒体文件 |
参数定义 |
player:player 对象 |
返回值 |
0:解析命令发送成功,其他:失败 |
注意事项 |
在 INITIALIZED 状态起作用 |
表 5. aic_player_prepare_sync
函数原型 |
s32 aic_player_prepare_sync(struct aic_player *player) |
功能说明 |
同步解析媒体文件 |
参数定义 |
player:player 对象 |
返回值 |
0:解析文件成功,其他:失败 |
注意事项 |
在 INITIALIZED 状态起作用 |
表 6. aic_player_start
函数原型 |
s32 aic_player_start(struct aic_player *player) |
功能说明 |
启动播放器,创建音视频解码线程和音视频渲染线程 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 PREPARED 状态起作用 |
表 7. aic_player_play
函数原型 |
s32 aic_player_play(struct aic_player *player) |
功能说明 |
播放媒体文件 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 状态起作用 |
表 8. aic_player_pause
函数原型 |
s32 aic_player_pause(struct aic_player *player) |
功能说明 |
暂停播放媒体文件 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 PLAYING 和 PAUSED 状态起作用 |
表 9. aic_player_stop
函数原型 |
s32 aic_player_stop(struct aic_player *player) |
功能说明 |
停止播放,释放音视频解码线程和音视频显示线程 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
任意状态可以调用该函数来停止播放器。切换文件时一定要调用 stop。 |
表 10. aic_player_get_media_info
函数原型 |
s32 aic_player_get_media_info(struct aic_player *player, struct
av_media_info *media_info) |
功能说明 |
获取媒体信息 |
参数定义 |
player:player 对象,media_info:媒体信息 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 PREPARED 和 COMPLETED 区间的状态起作用 |
表 11. aic_player_set_event_callback
函数原型 |
s32 aic_player_set_event_callback(struct aic_player *player,
event_handler event_handle) |
功能说明 |
获取媒体信息 |
参数定义 |
player:player 对象,event_handle:监听事件函数 |
返回值 |
0:成功,其他:失败 |
注意事项 |
一定要注册,播放结束通过回调函数通知 |
表 12. aic_player_get_screen_size
函数原型 |
s32 aic_player_get_screen_size(struct aic_player *player, struct
mpp_size *screen_size) |
功能说明 |
获取屏幕大小 |
参数定义 |
player:player 对象,screen_size:屏幕大小 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态均起作用 |
表 13. aic_player_set_disp_rect
函数原型 |
s32 aic_player_set_disp_rect(struct aic_player *player, struct
mpp_rect *disp_rect) |
功能说明 |
设置显示区域 |
参数定义 |
player:player 对象,disp_rect:显示区域 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 14. aic_player_get_disp_rect
函数原型 |
s32 aic_player_get_disp_rect(struct aic_player *player, struct
mpp_rect *disp_rect) |
功能说明 |
设置显示区域 |
参数定义 |
player:player 对象,disp_rect:显示区域 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 15. aic_player_set_mute
函数原型 |
s32 aic_player_set_mute(struct aic_player *player) |
功能说明 |
静音切换 |
参数定义 |
player:player 对象 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 16. aic_player_set_volum
函数原型 |
s32 aic_player_set_volum(struct aic_player *player,s32
vol) |
功能说明 |
设置音量 |
参数定义 |
player:player 对象,vol:音量 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 17. aic_player_get_volum
函数原型 |
s32 aic_player_get_volum(struct aic_player *player,s32
*vol) |
功能说明 |
获取音量 |
参数定义 |
player:player 对象,vol:音量 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 18. aic_player_get_play_time
函数原型 |
s64 aic_player_get_play_time(struct aic_player *player) |
功能说明 |
获取播放时间 |
参数定义 |
player:player 对象 |
返回值 |
>=0:播放时间,<0:获取播放时间的状态不对 |
注意事项 |
在 STARETED 和 COMPLETED 区间的状态起作用 |
表 19. aic_player_seek
函数原型 |
s32 aic_player_seek(struct aic_player *player, u64
seek_time) |
功能说明 |
跳转指定时间点 |
参数定义 |
player:player 对象,seek_time:跳转的时间点 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 IDLE/INITIALIZED/PREPARING 状态下设置不起作用 |
表 20. aic_player_capture
函数原型 |
s32 aic_player_capture(struct aic_player *player, struct
aic_capture_info *capture_info) |
功能说明 |
跳转指定时间点 |
参数定义 |
player:player 对象,capture_info:抓拍信息 |
返回值 |
0:成功,其他:失败 |
注意事项 |
只有在 PAUSED 状态下起作用 |
表 21. aic_player_set_rotation
函数原型 |
s32 aic_player_set_rotation(struct aic_player *player, int
rotation_angle) |
功能说明 |
设置视频旋转角度 |
参数定义 |
player:player 对象,rotation_angle:旋转角度 angle 可取值
MPP_ROTATION_0,MPP_ROTATION_90,MPP_ROTATION_180,MPP_ROTATION_270 |
返回值 |
0:成功,其他:失败 |
注意事项 |
在 STARTED/PLAYING/PAUSED/COMPLETED 状态下设置起作用 |
表 22. aic_player_get_rotation
函数原型 |
s32 aic_player_get_rotation(struct aic_player *player) |
功能说明 |
获取视频旋转角度 |
参数定义 |
player:player 对象 |
返回值 |
>=0:旋转角度,<0:获取失败 |
注意事项 |
在 STARTED/PLAYING/PAUSED/COMPLETED 状态下可以获取 |