9.13. 音频播放跳转与时间获取

概述

提供音频播放跳转与音频播放时间点获取的使用流程

Note

  • 音频播放跳转功能与音频播放时间点获取功能仅作用于同一首音频文件中,目前支持MP3,WAV,WMA格式文件

  • 正处播放状态时使用AUDIO_IOCTRL_CMD_SET_DEST_PLAYPOS命令设置跳转时间, 或使用AUDIO_IOCTRL_CMD_GET_PLAYPOS命令获取时间点.

9.13.1. 使用说明

使用audio_server进行服务命令请求

  • AUDIO_IOCTRL_CMD_SET_DEST_PLAYPOS 设置指定位置播放

  • AUDIO_IOCTRL_CMD_GET_PLAYPOS 获取毫秒级时间

  • 注意server_request的命令是 AUDIO_REQ_IOCTL

//跳转时间命令
union audio_req req = {0};
req.ioctl.cmd = AUDIO_IOCTRL_CMD_SET_DEST_PLAYPOS;
struct audio_dest_time_play_param parm = {0};
parm.start_time = 60000;    //60s播放
parm.dest_time = 90000;             //90s执行函数
parm.callback_func = test_func;     //测试函数
parm.callback_priv = &test_priv;////测试参数
req.ioctl.priv = &parm;
server_request(__this->dec_server, AUDIO_REQ_IOCTL, &req);
//获取时间命令
union audio_req req = {0};
req.ioctl.cmd = AUDIO_IOCTRL_CMD_GET_PLAYPOS;
u32 get_time;
req.ioctl.priv = &get_time;
server_request(__this->dec_server, AUDIO_REQ_IOCTL, &req);
printf("---%s---%s---%d get_time = %d\n\r",__FILE__,__func__,__LINE__,get_time);