下载语音包

更新时间:2023-05-25 06:23:52

扫地机 SDK 提供语音包下载、监听进度等功能。

涂鸦 IoT 开发平台上暂无语音包配置页面,您需要联系您的涂鸦客户经理协助配置。

获取语音文件列表

接口说明

void getFileList(final IThingResultCallback<ArrayList<SweeperFileListInfoBean>> callback);

SweeperFileListInfoBean 数据结构

字段 类型 描述
id long 语音文件 ID
name String 语音文件名称
desc String 语音文件描述
auditionUrl String 试听语音文件 URL
officialUrl String 正式语音文件 URL
imgUrl String 语音文件图标 URL
region List<String> 国家或地区码

代码示例

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);

IThingSweeperFileDownload iThingSweeperFileDownload = iThingSweeperKitSdk.newFileDownloadInstance(devId);

iThingSweeperFileDownload.getFileList(new IThingResultCallback<ArrayList<SweeperFileListInfoBean>>() {
    @Override
    public void onSuccess(ArrayList<SweeperFileListInfoBean> result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

分页获取语音文件列表

接口说明

void getFileList(int offset, int limit, IThingResultCallback<SweeperFileListPageBean> callback);

参数说明

参数 说明
offset 获取数据的偏移量,用于分页
limit 一次获取数据的数量
callback 数据回调

SweeperFileListPageBean 数据结构

字段 类型 描述
datas List<SweeperFileListInfoBean> SweeperFileListInfoBean 列表
totalCount int 总数

代码示例

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);

IThingSweeperFileDownload iThingSweeperFileDownload = iThingSweeperKitSdk.newFileDownloadInstance(devId);

iThingSweeperFileDownload.getFileList(0, 10, new IThingResultCallback<SweeperFileListPageBean>() {
    @Override
    public void onSuccess(SweeperFileListPageBean result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

注册和反注册进度监听

接口说明

void registerDownloadListener(final ISweeperFileDownloadListener listener)

void unRegisterDownloadListener();

ISweeperFileDownloadListener 数据结构

/**
 *
 * @param type 文件类型,语音文件是 DOWNLOAD_VOICE
 * @param fileDownloadEnum 枚举,包含下载完成、下载失败
 */
void onResultStatus(String type, SweeperFileDownloadEnum fileDownloadEnum);

/**
 *
 * @param type
 * @param progress 下载进度
 */
void onProgress(String type, int progress);

代码示例

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);

IThingSweeperFileDownload iThingSweeperFileDownload = iThingSweeperKitSdk.newFileDownloadInstance(devId);

iThingSweeperFileDownload.registerDownloadListener(new ISweeperFileDownloadListener() {
    @Override
    public void onResultStatus(String type, SweeperFileDownloadEnum fileDownloadEnum) {

    }

    @Override
    public void onProgress(String type, int progress) {

    }
});
iThingSweeperFileDownload.unRegisterDownloadListener();

确认下载语音文件

接口说明

/**
 *
 * @param fileId 语音文件 ID
 * @param callback
 */
void confirmDownload(long fileId, final IThingResultCallback<Integer> callback);

代码示例

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);

IThingSweeperFileDownload iThingSweeperFileDownload = iThingSweeperKitSdk.newFileDownloadInstance(devId);

iThingSweeperFileDownload.confirmDownload(1000, new IThingResultCallback<Integer>() {
    @Override
    public void onSuccess(Integer result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

获取文件下载进度

接口说明

仅查询当前进度。

void queryProgress(final IThingResultCallback<SweeperProgressbean> callback);

SweeperProgressbean 数据结构

字段 类型 描述
id long 语音文件 ID
rate int 下载进度
status int 下载状态
  • 0:未下载
  • 1:下载中

代码示例

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);

IThingSweeperFileDownload iThingSweeperFileDownload = iThingSweeperKitSdk.newFileDownloadInstance(devId);

iThingSweeperFileDownload.queryProgress(new IThingResultCallback<SweeperProgressbean>() {
    @Override
    public void onSuccess(SweeperProgressbean result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

结束语音文件下载

退出下载时,请调用结束下载接口,避免造成进程资源浪费。

接口说明

void onDestroy();