下载语音文件

更新时间:2024-03-04 08:35:03

扫地机 SDK 提供了语音下载功能,实现 ThingSmartSweeperDeviceDelegate 代理协议接收语音下载过程中的状态变化回调以及下载进度回调。

类名 说明
ThingSmartSweeperDevice 涂鸦扫地机设备相关的类

数据流程

下载语音文件

获取语音文件列表

接口说明

获取当前扫地机设备可用的语音文件列表。

- (void)getFileDownloadInfoWithSuccess:(void (^)(NSArray<ThingSmartFileDownloadModel *> *upgradeFileList))success failure:(void (^)(NSError * _Nullable error))failure;

参数说明

类名 说明
ThingSmartFileDownloadModel 语音文件数据类
属性 类型 说明
fileId NSString 语音文件 ID
productId NSString 产品 ID
name NSString 语音文件名称
desc NSString 语音文件描述
auditionUrl NSString 语音试听文件下载链接
officialUrl NSString 语音正式文件下载链接
imgUrl NSString 语音文件图标下载链接
region NSArray 国家或地区编码
参数 说明
success 成功回调,返回可用语音文件列表 upgradeFileList
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice getFileDownloadInfoWithSuccess:^(NSArray<ThingSmartFileDownloadModel *> * _Nonnull upgradeFileList) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.getFileDownloadInfo(success: { (upgradeFileList) in

        }, failure: { (error) in

        })

分页获取语音文件列表

接口说明

分页获取当前扫地机设备可用的语音文件列表。

- (void)getFileDownloadInfoWithLimit:(NSUInteger)limit offset:(NSUInteger)offset success:(void (^)(NSArray<ThingSmartFileDownloadModel *> *upgradeFileList, NSUInteger totalCount))success failure:(void (^)(NSError * _Nullable error))failure

参数说明

类名 说明
ThingSmartFileDownloadModel 语音文件数据类
属性 类型 说明
fileId NSString 语音文件 ID
productId NSString 产品 ID
name NSString 语音文件名称
desc NSString 语音文件描述
auditionUrl NSString 语音试听文件下载链接
officialUrl NSString 语音正式文件下载链接
imgUrl NSString 语音文件图标下载链接
region NSArray 国家或地区编码
extendField NSDictionary 透传字段
参数 说明
limit 一次获取数据的数量
offset 获取数据的偏移量
success 成功回调,返回可用语音文件列表 upgradeFileList
failure 失败回调

示例代码

Objective-C:

[self.sweeper getFileDownloadInfoWithLimit:50 offset:0 success:^(NSArray<ThingSmartFileDownloadModel *> * _Nonnull upgradeFileList, NSUInteger totalCount) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.getFileDownloadInfo(withLimit: 50, offset: 0, success: { (list, count) in

        }, failure: { (error) in

        })

确认下载语音文件

接口说明

- (void)downloadFileWithFileId:(NSString *)fileId
                       success:(void (^)(id result))success
                       failure:(void (^)(NSError * _Nullable error))failure;

参数说明

参数 说明
fileId 确认下载的语音文件 ID
success 成功回调
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice downloadFileWithFileId:<#fileId#> success:^(id  _Nonnull result) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.downloadFile(withFileId: "", success: { (result) in

        }, failure: { (error) in

        })

获取文件下载进度

接口说明

语音文件下载进度数据模型。

- (void)getFileDownloadRateWithSuccess:(void (^)(ThingSmartFileDownloadRateModel *rateModel))success failure:(void (^)(NSError * _Nullable error))failure;

参数说明

类名 说明
ThingSmartFileDownloadRateModel 文件的下载进度信息
属性 类型 说明
fileId NSString 语音文件 ID
deviceId NSString 设备 ID
status NSInteger 下载状态
rate int 下载进度
参数 说明
success 成功回调,返回语音文件下载进度信息 rateModel
failure 失败回调

示例代码

Objective-C:

[self.sweeperDevice getFileDownloadRateWithSuccess:^(ThingSmartFileDownloadRateModel * _Nonnull rateModel) {

    } failure:^(NSError * _Nullable error) {

    }];

Swift:

sweeperDevice?.getFileDownloadRate(success: { (rateModel) in

        }, failure: { (error) in

        })

语音文件下载回调

下载状态实时回调

接口说明

- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice type:(NSString *)type downloadStatus:(ThingSmartSweeperFileDownloadStatus)status;

参数说明

ThingSmartSweeperFileDownloadStatus 说明
ThingSmartSweeperFileDownloadUpgrading 文件下载中
ThingSmartSweeperFileDownloadFinish 文件下载完成
ThingSmartSweeperFileDownloadFailure 文件下载失败
参数 说明
sweeperDevice ThingSmartSweeperDevice 实例对象
type 文件类型
status 下载状态 ThingSmartSweeperFileDownloadStatus

示例代码

Objective-C:

self.sweeperDevice = [ThingSmartSweeperDevice deviceWithDeviceId:<#devId#>];
self.sweeperDevice.delegate = self;

// 实现代理方法
- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice type:(NSString *)type downloadStatus:(ThingSmartSweeperFileDownloadStatus)status {

}

Swift:

sweeperDevice = ThingSmartSweeperDevice.init(deviceId: "your_devId")
sweeperDevice?.delegate = self

func sweeperDevice(_ sweeperDevice: ThingSmartSweeperDevice, type: String, downloadStatus status: ThingSmartSweeperFileDownloadStatus) {

    }

下载进度实时回调

接口说明

- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice type:(NSString *)type downloadProgress:(int)progress;

参数说明

参数 说明
sweeperDevice ThingSmartSweeperDevice 实例对象
type 文件类型
progress 文件下载进度

示例代码

Objective-C:

self.sweeperDevice = [ThingSmartSweeperDevice deviceWithDeviceId:<#devId#>];
self.sweeperDevice.delegate = self;

// 实现代理方法
- (void)sweeperDevice:(ThingSmartSweeperDevice *)sweeperDevice type:(NSString *)type downloadProgress:(int)progress {

}

Swift:

sweeperDevice = ThingSmartSweeperDevice.init(deviceId: "your_devId")
sweeperDevice?.delegate = self

func sweeperDevice(_ sweeperDevice: ThingSmartSweeperDevice, type: String, downloadProgress progress: Int32) {

    }