国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HarmonyOS學習路之開發(fā)篇—AI功能開發(fā)(語音播報)

這篇具有很好參考價值的文章主要介紹了HarmonyOS學習路之開發(fā)篇—AI功能開發(fā)(語音播報)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

語音播報概述

語音播報(Text to Speech,下文簡稱TTS),基于華為智慧引擎(HUAWEI HiAI Engine)中的語音播報引擎,向開發(fā)者提供人工智能應用層API。該技術(shù)提供將文本轉(zhuǎn)換為語音并進行播報的能力。

約束與限制

  • 支持超長文本播報,最大文本長度為100000個字符。
  • 語音播報不支持多線程調(diào)用。

語音播報開發(fā)

場景介紹

  • 實時語音交互:生成音頻信息用于語音交互。

    例如與智能音箱或手機智能助手的交互,后臺會將回答信息以音頻方式進行語音播報。

  • 超長文本播報:用于小說、新聞等較長文本的自動朗讀。

接口說明

語音播報功能提供了TtsClient類實現(xiàn)文本轉(zhuǎn)語音功能,該類的主要接口如下表所示:

表1?主要接口

接口名

描述

void create(Context context, TtsListener ttsListener)

創(chuàng)建TTS客戶端。context為應用的上下文;ttsListener為TTS回調(diào),可以在TtsListener的onEvent方法中獲取創(chuàng)建結(jié)果(成功或失敗,可獲取的值詳見表2)。

只有在收到創(chuàng)建TTS客戶端成功回調(diào)之后,才能進行TTS客戶端的初始化。

void release()

釋放正在使用的TTS引擎。調(diào)用此方法會將初始化狀態(tài)置為false,并結(jié)束播報任務,建議在init(TtsParams)前調(diào)用。

boolean init(TtsParams ttsParams)

初始化TTS客戶端。設置deviceId、deviceType、語速、音量、音調(diào)、音色參數(shù),其中deviceId必須設置,否則初始化失敗。

boolean setParams(TtsParams ttsParams)

設置參數(shù)。支持設置音量、音調(diào)、語速、音色四個參數(shù)的修改,修改其他值無效,在init(TtsParams)之后調(diào)用,否則設置不生效。

boolean setAudioType(AudioManager.AudioVolumeType audioType)

設置音頻流類型。目前支持AudioVolumeType.STREAM_MUSIC等九種音頻流類型的設置,可在播報前調(diào)用。

void speakText(String text, String utteranceId)

合成音頻并播報。傳入需播報的文本即可合成音頻并播報,支持的最大文本長度為512個字符,若文本超長或文本為空將會報錯,并將錯誤結(jié)果通過回調(diào)TtsListener的onError(String,String)方法傳給調(diào)用者。utteranceId為播報請求的唯一標識,若utteranceId為空,TTS引擎將為本次請求隨機生成utteranceId。

void speakLongText(String longText, String utteranceId)

連續(xù)合成并播報超長文本。文本最大支持長度為100000,若文本超過最大支持長度或文本為空將會報錯,并將錯誤結(jié)果通過TtsListener的onError(String,String)方法傳給調(diào)用者。

boolean isSpeaking()

判斷是否正在進行TTS播報。如果正在進行TTS播報,返回true;否則,返回false。

void stopSpeak()

停止TTS播報。調(diào)用此方法停止播報后,若再次播報,將會從頭開始播報,而不是從停止處播報。

Optional<String> getVersion()

獲取TTS SDK版本號。

void destroy()

銷毀TTS客戶端。完成所有任務后,務必調(diào)用此方法銷毀TTS客戶端。

表2?TtsListener中onEvent的eventType對照表

eventType取值

描述

TtsEvent.CREATE_TTS_CLIENT_SUCCESS

創(chuàng)建TTS客戶端成功。

TtsEvent.CREATE_TTS_CLIENT_FAILED

創(chuàng)建TTS客戶端失敗。

TtsEvent.DESTROY_TTS_CLIENT_SUCCESS

銷毀TTS客戶端成功。

TtsEvent.METHOD_EXECUTE_SUCCESS

方法執(zhí)行成功或方法執(zhí)行無異常時,返回此事件類型。對應的方法可以通過pacMap.getIntValue(TtsClient.PAC_MAP_KEY_METHOD_ID)獲取。詳見表3

TtsEvent.METHOD_EXECUTE_FAILED_REMOTE_EXCEPTION

方法執(zhí)行失敗或異常。對應的方法可以通過pacMap.getIntValue(TtsClient.PAC_MAP_KEY_METHOD_ID)獲取。詳見表3

TtsEvent.DESTROY_TTS_CLIENT_FAILED

銷毀TTS客戶端失敗或未成功創(chuàng)建TTS客戶端時,調(diào)用destroy方法,返回此事件類型。

表3?method ID與方法對照表

method Id

方法

TtsClient.METHOD_CREATE

create

TtsClient.METHOD_DESTROY

destroy

TtsClient.METHOD_RELEASE

release

TtsClient.METHOD_SPEAK_LONG_TEXT

speakLongText

TtsClient.METHOD_SPEAK_TEXT

speakText

TtsClient.METHOD_STOP_SPEAK

stopSpeak

開發(fā)步驟

導入相關(guān)的類。

import ohos.ai.tts.TtsClient; // TTS接口
import ohos.ai.tts.TtsListener; // TTS回調(diào)
import ohos.ai.tts.TtsParams; // TTS參數(shù)
import ohos.ai.tts.constants.TtsEvent; // TTS事件
import ohos.utils.PacMap; // TTS依賴

創(chuàng)建與TTS服務的連接。context為應用上下文信息,應為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實例或子類實例。

說明

以下代碼示例中Log.info()為各方法內(nèi)定義的處理方法舉例,已注釋。

private static final TtsListener ttsListener = new TtsListener() {
        @Override
        public void onEvent(int eventType, PacMap pacMap) {
            // Log.info("onEvent:" + eventType);
            if (eventType == TtsEvent.CREATE_TTS_CLIENT_SUCCESS) {
                // Log.info("TTS Client create success");
            }
        }
 
        @Override
        public void onStart(String utteranceId) {
            // Log.info(utteranceId + " audio synthesis begins");
        }
 
        @Override
        public void onProgress(String utteranceId, byte[] audioData, int progress) {
            // Log.info(utteranceId + " audio synthesis progress:" + progress);
        }
 
        @Override
        public void onFinish(String utteranceId) {
            // Log.info(utteranceId + " audio synthesis completed");
        }
 
        @Override
        public void onSpeechStart(String utteranceId) {
            // Log.info(utteranceId + " begins to speech");
        }
 
        @Override
        public void onSpeechProgressChanged(String utteranceId, int progress) {
            // Log.info(utteranceId + " speech progress:" + progress);
        }
 
        @Override
        public void onSpeechFinish(String utteranceId) {
            // Log.info(utteranceId + " speech completed");
        }
 
        @Override
        public void onError(String utteranceId, String errorMessage) {
            // Log.info(utteranceId + " errorMessage: " + errorMessage);
        }
};
TtsClient.getInstance().create(context, ttsListener);

在TTS接口創(chuàng)建成功后初始化TTS引擎。

TtsParams ttsParams = new TtsParams();
ttsParams.setDeviceId("your device id");
boolean initResult = TtsClient.getInstance().init(ttsParams);

初始化TTS引擎成功后調(diào)用音頻轉(zhuǎn)換并播放接口。

if (initResult) {
    TtsClient.getInstance().speakText("歡迎使用語音播報!", null);
}

使用完成后銷毀TTS客戶端。文章來源地址http://www.zghlxwxcb.cn/news/detail-510267.html

TtsClient.getInstance().destroy();

到了這里,關(guān)于HarmonyOS學習路之開發(fā)篇—AI功能開發(fā)(語音播報)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • HarmonyOS學習路之開發(fā)篇—AI功能開發(fā)(圖像超分辨率)

    針對圖片分辨率不足的問題,傳統(tǒng)的解決方案是使用雙線性或雙三次插值的方法來放大圖像;而針對圖片壓縮噪聲的問題,傳統(tǒng)的解決方案則是通過各種算法實現(xiàn)平滑、去噪。 本SDK使用智能的方法,基于深度神經(jīng)網(wǎng)絡,依托硬件的神經(jīng)網(wǎng)絡加速器,提供適用于移動終端的1x和

    2024年02月11日
    瀏覽(96)
  • HarmonyOS學習路之開發(fā)篇—AI功能開發(fā)(二維碼生成及文字識別)

    為應用提供豐富的AI(Artificial Intelligence)能力,支持開箱即用。開發(fā)者可以靈活、便捷地選擇AI能力,讓應用變得更加智能。 已開放的AI能力如下表所示: 能力 簡介 二維碼生成 根據(jù)開發(fā)者給定的字符串信息和二維碼圖片尺寸,返回相應的二維碼圖片字節(jié)流。調(diào)用方可以通過

    2024年02月11日
    瀏覽(29)
  • h5開發(fā)語音播報功能

    h5開發(fā)語音播報功能

    一、使用window自帶的api,但是手機瀏覽器多數(shù)不支持,兼容性差(不推薦) 1.使用到了window的speechSynthesis屬性,如下如1.1 ????????????????????????????????????????????????????????????????????????圖1.1 ?2.主要用到了播報方法speak()和取消播報

    2024年02月14日
    瀏覽(14)
  • HarmonyOS學習路之開發(fā)篇—流轉(zhuǎn)

    HarmonyOS學習路之開發(fā)篇—流轉(zhuǎn)

    隨著全場景多設備生活方式的不斷深入,用戶擁有的設備越來越多,每個設備都能在適合的場景下提供良好的體驗,例如:手表可以提供及時的信息查看能力,電視可以帶來沉浸的觀影體驗。但是,每個設備也有使用場景的局限,例如:在電視上輸入文本相對手機來說是非常

    2024年02月15日
    瀏覽(95)
  • HarmonyOS學習路之開發(fā)篇—設備管理(位置開發(fā))

    移動終端設備已經(jīng)深入人們?nèi)粘I畹姆椒矫婷?,如查看所在城市的天氣、新聞軼事、出行打車、旅行導航、運動記錄。這些習以為常的活動,都離不開定位用戶終端設備的位置。 當用戶處于這些豐富的使用場景中時,系統(tǒng)的位置能力可以提供實時準確的位置數(shù)據(jù)。對于開發(fā)

    2024年02月16日
    瀏覽(83)
  • HarmonyOS學習路之開發(fā)篇—多媒體開發(fā)(相機開發(fā) 一)

    HarmonyOS學習路之開發(fā)篇—多媒體開發(fā)(相機開發(fā) 一)

    HarmonyOS相機模塊支持相機業(yè)務的開發(fā),開發(fā)者可以通過已開放的接口實現(xiàn)相機硬件的訪問、操作和新功能開發(fā),最常見的操作如:預覽、拍照、連拍和錄像等。 相機靜態(tài)能力 用于描述相機的固有能力的一系列參數(shù),比如朝向、支持的分辨率等信息。 物理相機 物理相機就是獨

    2024年02月10日
    瀏覽(91)
  • HarmonyOS學習路之開發(fā)篇—多媒體開發(fā)(相機開發(fā) 二)

    Camera操作類,包括相機預覽、錄像、拍照等功能接口。 接口名 描述 triggerSingleCapture?(FrameConfig frameConfig) 啟動相機幀的單幀捕獲。 triggerMultiCapture?(ListFrameConfig frameConfigs) 啟動相機幀的多幀捕獲。 configure?(CameraConfig config) 配置相機。 flushCaptures?() 停止并清除相機幀的捕獲

    2024年02月11日
    瀏覽(91)
  • HarmonyOS學習路之開發(fā)篇—多媒體開發(fā)(圖像開發(fā) 二)

    圖像編碼就是將PixelMap圖像編碼成不同存檔格式圖片,用于后續(xù)其他處理,比如保存、傳輸?shù)?。當前僅支持JPEG格式。 ImagePacker主要用于圖像編碼。 接口名 描述 create() 創(chuàng)建圖像打包器實例。 initializePacking(byte[] data, PackingOptions opts) 初始化打包任務,將字節(jié)數(shù)組設置為打包后輸

    2024年02月11日
    瀏覽(97)
  • HarmonyOS學習路之開發(fā)篇—多媒體開發(fā)(圖像開發(fā) 一)

    HarmonyOS圖像模塊支持圖像業(yè)務的開發(fā),常見功能如圖像解碼、圖像編碼、基本的位圖操作、圖像編輯等。當然,也支持通過接口組合來實現(xiàn)更復雜的圖像處理邏輯。 圖像解碼 圖像解碼就是不同的存檔格式圖片(如JPEG、PNG等)解碼為無壓縮的位圖格式,以方便在應用或者系統(tǒng)

    2024年02月11日
    瀏覽(87)
  • HarmonyOS學習路之方舟開發(fā)框架—方舟開發(fā)框架(ArkUI)概述

    HarmonyOS學習路之方舟開發(fā)框架—方舟開發(fā)框架(ArkUI)概述

    方舟開發(fā)框架(簡稱ArkUI)為HarmonyOS應用的UI開發(fā)提供了完整的基礎設施,包括簡潔的UI語法、豐富的UI功能(組件、布局、動畫以及交互事件),以及實時界面預覽工具等,可以支持開發(fā)者進行可視化界面開發(fā)。 UI: 即用戶界面。開發(fā)者可以將應用的用戶界面設計為多個功能

    2024年02月16日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包