智能客服
你问我答,随时在线为你解决问题
朗读控件使用AI能力将文本实时转化成语音并进行朗读,适用于一些新闻类、小说类等文本内容浏览类APP,帮助用户在一些无法直接浏览文本内容的场景下,通过文本朗读来高效获取信息。
起始版本:5.0.0(12)
import { TextReader } from '@kit.SpeechKit'; init(context: common.BaseContext, readParams: ReaderParam): Promise<void>
朗读控件初始化,用于初始化TTS引擎和底层播放器,初始化失败会返回对应错误码。
使用Promise异步回调。若要配置长时权限,请参考开发指南步骤8。
系统能力: SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
context | 是 | 当前应用上下文 | |
readParams | 是 | 朗读参数 |
返回值:
类型 | 说明 |
|---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
201 | Permission denied. Interface caller does not have permission "ohos.permission.KEEP_BACKGROUND_RUNNING". |
401 | Parameter error. |
1010600011 | Initialize failed. |
import { TextReader } from '@kit.SpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
// 获取应用上下文
let context: Context = getContext(this);
// 设置朗读参数
const readerParams: TextReader.ReaderParam = {
isVoiceBrandVisible: true,
businessBrandInfo: {
panelName: '小艺朗读',
panelIcon: $r('app.media.startIcon')
}
};
// 初始化朗读控件
TextReader.init(context, readerParams).then(() => {
console.info(`TextReader succeeded in initializing.`);
}).catch((e: BusinessError) => {
console.error(`TextReader failed to initialize. Code: ${e.code}, message: ${e.message}`);
}) start(readInfoList: ReadInfo[], articleId?: string): Promise<void>
朗读控件起播,拉起播放器面板并开始播放。播放失败返回对应错误码。
使用Promise异步回调。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
readInfoList | ReadInfo[] | 是 | 播放文章列表
|
articleId | string | 否 | 文章id,articleId不传时,默认从文章列表中的第一篇开始播放;传参时,从传入articleId对应的文章开始依次往下播放。(文章id不能重复,否则从列表进入同id的文章,会自动选择同id的第一篇朗读) |
返回值:
类型 | 说明 |
|---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | Parameter error. |
1010600012 | The TextReader is not initialized. |
1010600013 | Text-to-speech engine error. |
1010600014 | AudioRenderer play error. |
1010600015 | Audio decode error. |
1010600016 | AVSession error. |
1010600017 | Other error. |
import { TextReader } from '@kit.SpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
const readInfoList: TextReader.ReadInfo[] = [{
id: '001',
title: {
text:'水调歌头.明月几时有',
isClickable:true
},
author:{
text:'宋.苏轼',
isClickable:true
},
date: {
text:'2024/01/01',
isClickable:false
},
bodyInfo: '明月几时有?把酒问青天。'
}];
// 启动朗读控件
TextReader.start(readInfoList).then(() => {
console.info(`TextReader succeeded in starting`);
}).catch((e: BusinessError) => {
console.error(`TextReader failed to start. Code: ${e.code}, message: ${e.message}`);
}) stop(): Promise<void>
朗读控件停止朗读,执行播放面板的关闭,注销监听,重置参数。
使用Promise异步回调。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
返回值:
类型 | 说明 |
|---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
import { TextReader } from '@kit.SpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
TextReader.stop().then(() => {
console.info(`TextReader succeeded in stopping.`);
}).catch((e: BusinessError) => {
console.error(`TextReader failed to stop. Code: ${e.code}, message: ${e.message}`);
}) release(): Promise<void>
释放朗读控件的所有资源。
使用Promise异步回调。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
返回值:
类型 | 说明 |
|---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
1010600020 | Release error. |
import { TextReader } from '@kit.SpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
TextReader.release().then(() => {
console.info(`TextReader succeeded in releasing.`);
}).catch((e: BusinessError) => {
console.error(`TextReader failed to release. Code: ${e.code}, message: ${e.message}`);
}) pause(): void
暂停播放。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.pause();
} catch (e) {
console.error(`TextReader failed to pause. Code: ${e.code}, message: ${e.message}`);
} resume(): void
继续播放。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
1010600013 | Text-to-speech engine error. |
1010600014 | AudioRenderer play error. |
1010600015 | Audio decode error. |
1010600016 | AvSession error. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.resume();
} catch (e) {
console.error(`TextReader failed to resume. Code: ${e.code}, message: ${e.message}`);
} playPrev(): void
播放上一篇文章。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
1010600018 | playPrev failed. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.playPrev();
} catch (e) {
console.error(`TextReader failed to play previous article. Code: ${e.code}, message: ${e.message}`);
} playNext(): void
播放下一篇文章。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
1010600019 | playNext failed. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.playNext();
} catch (e) {
console.error(`TextReader failed to play next article. Code: ${e.code}, message: ${e.message}`);
} hidePanel(): void
隐藏播放面板。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.hidePanel();
} catch (e) {
console.error(`TextReader failed to hide panel. Code: ${e.code}, message: ${e.message}`);
} showPanel(): void
打开播放面板。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
1010600012 | The TextReader is not initialized. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.showPanel();
} catch (e) {
console.error(`TextReader failed to show panel. Code: ${e.code}, message: ${e.message}`);
} queryReadState(id?: string): ReadState
查询文章播报状态。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 否 | 文章id |
返回值:
类型 | 说明 |
|---|---|
文章播报状态 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | Parameter error. |
import { TextReader } from '@kit.SpeechKit';
try {
let readState = TextReader.queryReadState('article_01');
console.info(`Succeeded in querying read state, read state: ${JSON.stringify(readState)}`);
} catch(e) {
console.error(`TextReader failed to queryReadState. Code: ${e.code}, message: ${e.message}`);
} setArticleContent(id: string, content?: string): void
设置文章内容。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 文章id |
content | string | 否 | 文章内容,content不传或者为空时,播放指定id的文章时,控件内容页显示加载失败;传参时,将指定id文章的内容设置为content |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | Parameter error. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.setArticleContent('article_01', '明月几时有?把酒问青天。');
} catch (e) {
console.error(`TextReader failed to setArticleContent. Code: ${e.code}, message: ${e.message}`);
} setArticle(readInfo: ReadInfo): void
设置指定文章的信息,并立即播放。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
readInfo | 是 | 文章信息,包括图片和内容;如果文章的ID不在列表中,则不会生效。 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | Parameter error. |
import { TextReader } from '@kit.SpeechKit';
import { image } from '@kit.ImageKit';
const readInfo: TextReader.ReadInfo = {
id: '001',
title: {
text:'水调歌头.明月几时有',
isClickable:true
},
author:{
text:'宋.苏轼',
isClickable:true
},
date: {
text:'2024/01/01',
isClickable:false
},
bodyInfo: '明月几时有?把酒问青天。',
image: {} as image.PixelMap
};
try {
TextReader.setArticle(readInfo);
} catch (e) {
console.error(`TextReader failed to setArticle. Code: ${e.code}, message: ${e.message}`);
}
loadMore(readInfos: ReadInfo[], isEnd: boolean): void
加载更多文章到文章列表。需在项目init和start之后调用,建议在'requestMore'操作监听中使用。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
readInfos | ReadInfo[] | 是 | 要加载的文章列表 |
isEnd | boolean | 是 | 是否还有更多内容需要加载
|
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | Parameter error. |
import { ReadStateCode, TextReader, TextReaderIcon } from '@kit.SpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct Index {
@State readInfoList: TextReader.ReadInfo[] = [];
@State readState: ReadStateCode = ReadStateCode.WAITING;
@State isInit: boolean = false;
@State selectedReadInfo: TextReader.ReadInfo = this.readInfoList[0];
async aboutToAppear(){
let context: Context = getContext(this);
// 设置朗读参数
const readerParams: TextReader.ReaderParam = {
isVoiceBrandVisible: true,
businessBrandInfo: {
panelName: '小艺朗读',
panelIcon: $r('app.media.startIcon')
}
};
// 初始化朗读控件
TextReader.init(context, readerParams).then(() => {
console.info(`TextReader succeeded in initializing.`);
}).catch((e: BusinessError) => {
console.error(`TextReader failed to initialize. Code: ${e.code}, message: ${e.message}`);
})
/**
* 加载数据
*/
console.info(`ReadStateCode: ${JSON.stringify(this.readState)}`);
let readInfoList: TextReader.ReadInfo[] = [{
id: '001',
title: {
text:'水调歌头.明月几时有',
isClickable:true
},
author:{
text:'宋.苏轼',
isClickable:true
},
date: {
text:'2024/01/01',
isClickable:false
},
bodyInfo: '明月几时有?把酒问青天。'
}];
this.readInfoList = readInfoList;
this.selectedReadInfo = this.readInfoList[0];
}
// 设置操作监听
setActionListener() {
//...
TextReader.on('requestMore', () => {
console.info(`requestMore`);
try {
console.info(`loadMore`);
TextReader.loadMore(this.readInfoList, true);
} catch (e) {
console.error(`TextReader failed to loadMore. Code: ${e.code}, message: ${e.message}`);
}
});
}
build() {
Column() {
TextReaderIcon({ readState: this.readState })
.margin({ right: 20 })
.width(32)
.height(32)
.onClick(async () => {
try {
this.setActionListener();
await TextReader.start(this.readInfoList, this.selectedReadInfo?.id);
} catch(e) {
console.error(`TextReader failed to start`);
}
})
}
.height('100%')
}
} on(type: 'setArticle', callback: Callback<string>): void
注册设置文章回调函数,点击文章或者切换文章时,若目标文章内容为空(bodyInfo值为空)时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'setArticle',设置文章后,目标文章内容为空(bodyInfo值为空)时,触发该事件 |
callback | Callback<string> | 是 | 点击文章或者切换文章时,执行的回调函数,参数为文章id |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('setArticle', (id: string) => {
console.info(`Succeeded in setting setArticleListener: ${id}`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'setArticle', callback?: Callback<string>): void
在on(type: 'setArticle')函数调用之后使用,用于注销设置文章回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'setArticle',设置文章后,触发该事件 |
callback | Callback<string> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('setArticle');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'clickArticle' | 'clickAuthor' | 'clickNotification', callback: Callback<string>): void
注册点击事件回调函数,点击标题、作者、通知栏时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<string> | 是 | 点击事件回调函数,参数为文章id |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('clickArticle', (id: string) => {
console.info(`Succeeded in setting clickArticleListener: ${id}`);
});
TextReader.on('clickAuthor', (id: string) => {
console.info(`Succeeded in setting clickAuthorListener: ${id}`);
});
TextReader.on('clickNotification', (id: string) => {
console.info(`Succeeded in setting clickNotificationListener: ${id}`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'clickArticle' | 'clickAuthor' | 'clickNotification', callback?: Callback<string>): void
在on(type: 'clickArticle' | 'clickAuthor' | 'clickNotification')函数调用之后使用,用于注销点击事件回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<string> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('clickArticle');
TextReader.off('clickAuthor');
TextReader.off('clickNotification');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'showPanel' | 'hidePanel', callback: Callback<void>): void
拉起/收回播放面板时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<void> | 是 | 面板事件回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('showPanel', () => {
console.info(`Succeeded in setting showPanelListener.`);
});
TextReader.on('hidePanel', () => {
console.info(`Succeeded in setting hidePanelListener.`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'showPanel' | 'hidePanel', callback?: Callback<void>): void
在on(type: 'showPanel' | 'hidePanel')函数调用之后使用,用于注销拉起/收回播放面板监听事件。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<void> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('showPanel');
TextReader.off('hidePanel');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'stop' | 'release', callback: Callback<void>): void
调用stop/release时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<void> | 是 | stop/release事件回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('stop', () => {
console.info(`Succeeded in setting stopListener.`);
});
TextReader.on('release', () => {
console.info(`Succeeded in setting releaseListener.`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'stop' | 'release', callback?: Callback<void>): void
在on(type: 'stop' | 'release')函数调用之后使用,用于注销stop/release事件的回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<void> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('stop');
TextReader.off('release');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'stateChange', callback: Callback<ReadState>): void
当前正在播放的文章状态变更时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'stateChange',当前正在播放的文章状态变更时,触发该事件 |
callback | Callback<ReadState> | 是 | 正在播放的文章状态变更时,执行的回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('stateChange', (state: TextReader.ReadState) => {
console.info(`Succeeded in setting stateChangeListener: ${JSON.stringify(state)}`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'stateChange', callback?: Callback<ReadState>): void
在on(type: 'stateChange')函数调用之后使用,用于注销正在播放的文章状态变更的回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'stateChange',当前正在播放的文章状态变更时,触发该事件 |
callback | Callback<ReadState> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('stateChange');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'requestMore', callback: Callback<void>): void
拉到播放列表底端或播放到文章最后一篇,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'requestMore',请求更多文章时,触发该事件监听 |
callback | Callback<void> | 是 | 拉到播放列表底端或播放到文章最后一篇,触发该回调执行 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('requestMore', () => {
console.info(`Succeeded in setting requestMoreListener.`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'requestMore', callback?: Callback<void>): void
在on(type: 'requestMore')函数调用之后使用,用于注销拉到播放列表底端或播放到文章最后一篇的回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'requestMore',请求更多文章时,触发该事件监听 |
callback | Callback<void> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('requestMore');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'eventNotification' | 'eventPanel', callback: Callback<NotificationEvent| PanelEvent>): void
通知栏+播控中心、播放面板状态发生变化时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<NotificationEvent | PanelEvent> | 是 | 通知栏+播控中心/播放面板状态发生变化时,触发该回调执行 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('eventNotification', (ne: TextReader.NotificationEvent) => {
console.info(`Succeeded in setting eventNotificationListener: ${JSON.stringify(ne)}`);
});
TextReader.on('eventPanel', (pe: TextReader.PanelEvent) => {
console.info(`Succeeded in setting eventPanelListener: ${JSON.stringify(pe)}`);
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'eventNotification' | 'eventPanel', callback?: Callback<NotificationEvent | PanelEvent>): void
在on(type: 'eventNotification' | 'eventPanel')函数调用之后使用,用于注销通知栏+播控中心、播放面板状态发生变化的回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型
|
callback | Callback<NotificationEvent | PanelEvent> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('eventNotification');
TextReader.off('eventPanel');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} on(type: 'eventReadList', callback: Callback<Array<ListEventState>>): void
注册播报列表相关事件监听,点击播报列表图标时,触发该回调执行。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'eventReadList' |
callback | Callback<Array<ListEventState>> | 是 | 播报列表发生相关事件时,触发该回调执行 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.on('eventReadList', (list: Array<TextReader.ListEventState>) => {
list.forEach((id) => {
console.info(`Succeeded in setting eventReadListListener, article id: ${id}`);
})
});
} catch (e) {
console.error(`TextReader failed to set eventListener. Code: ${e.code}, message: ${e.message}`);
} off(type: 'eventReadList', callback?: Callback<Array<ListEventState>>): void
在on(type: 'eventReadList')函数调用之后使用,用于注销播报列表相关事件的回调函数。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件回调类型,支持的事件为'eventReadList' |
callback | Callback<Array<ListEventState>> | 否 | 需要取消监听的回调函数,需与订阅时传入的回调函数是同一个,若不填,则取消当前应用监听该事件的所有回调函数 |
错误码:
以下错误码的详细介绍请参见ArkTS API错误码。
错误码ID | 错误信息 |
|---|---|
401 | parameter check failed. |
示例:
import { TextReader } from '@kit.SpeechKit';
try {
TextReader.off('eventReadList');
} catch (e) {
console.error(`TextReader failed to unset eventListener. Code: ${e.code}, message: ${e.message}`);
} 朗读参数
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
isVoiceBrandVisible | boolean | 否 | 否 | 是否显示播报品牌
|
businessBrandInfo | 否 | 是 | 播报品牌信息 | |
isFastForward | boolean | 否 | 是 | 是否快进快退逻辑
|
keepBackgroundRunning | boolean | 否 | 是 | 是否使用保持后台运行的功能 预留参数,暂未支持。 如需要设置后台运行功能,请配置长时任务权限 |
online | number | 否 | 是 | 默认不支持在线 合成模式:0为在线,1为离线 预留参数,当前只支持离线 |
播报品牌信息
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
panelName | string | 否 | 是 | 播放面板顶部展示的业务名称,系统字体大小为标准时,英文占1个字符长度,中文占2个字符长度,累计超过24个字符长度时会省略显示(系统字体大小有变动时,显示长度会有变化) |
panelIcon | 否 | 是 | 播放面板顶部展示的业务图标 预留参数,暂未支持 | |
notificationIcon | 否 | 是 | 通知栏展示的业务图标 预留参数,暂未支持 | |
notificationName | string | 否 | 是 | 通知栏展示的业务名称 预留参数,暂未支持 |
播报状态。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
id | string | 否 | 否 | 文章id |
state | 否 | 否 | 当前的朗读状态 |
朗读信息。
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
id | string | 否 | 否 | 文章标识ID |
title | 否 | 否 | 标题 | |
category | string | 否 | 是 | 类目 |
author | 否 | 是 | 文章的作者 | |
date | 否 | 是 | 文章的时间(例:Mon Jul 08 2024 21:25:41 GMT+0800) 预留参数,暂未支持 | |
image | 否 | 是 | 封面图图片 若没传,采用默认封面图 | |
bodyInfo | string | 否 | 是 | setArticle以及loadMore接口必填 其他实时朗读的正文信息(长度10000汉字以内) |
文字信息
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
text | string | 否 | 否 | 文本 |
isClickable | boolean | 否 | 否 | 是否支持点击收回播报面板
|
播放面板事件
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
id | string | 否 | 否 | 文章ID |
click | string | 否 | 否 |
|
通知栏事件
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
id | string | 否 | 否 | 文章ID |
type | number | 否 | 否 | 1:通知栏点击回调 2:播控中心点击回调 |
click | string | 否 | 否 |
|
列表事件状态
系统能力:SystemCapability.AI.Component.TextReader
起始版本:5.0.0(12)
参数:
名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
id | string | 否 | 否 | 文章ID |