精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HarmonyOS AI基礎技術賦能之語音播報

開發 OpenHarmony
在實際應用開發中,時不時的會遇到AI領域相關的一些技術,本節主要詳細講述一下語音播報技術,語音播報可能涉及的領域,如:實時語音交互、超長文本播報等。

[[425058]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

引言

在實際應用開發中,時不時的會遇到AI領域相關的一些技術,本節主要詳細講述一下語音播報技術,語音播報可能涉及的領域,如:實時語音交互、超長文本播報等。對于HarmonyOS開發者而言,也需要了解和掌握HarmonyOS AI領域相關技術能力。

功能介紹

語音播報主要是基于華為智慧引擎(HUAWEI HiAI Engine)中的語音播報引擎,向開發者提供人工智能應用層API。該技術提供將文本轉換為語音并進行播報的能力。

指南

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

  1. private static final TtsListener ttsListener = new TtsListener() { 
  2.         @Override 
  3.         public void onEvent(int eventType, PacMap pacMap) { 
  4.             // Log.info("onEvent:" + eventType); 
  5.             if (eventType == TtsEvent.CREATE_TTS_CLIENT_SUCCESS) { 
  6.                 // Log.info("TTS Client create success"); 
  7.             } 
  8.         } 
  9.         @Override 
  10.         public void onStart(String utteranceId) { 
  11.             // Log.info(utteranceId + " audio synthesis begins"); 
  12.         } 
  13.         @Override 
  14.         public void onProgress(String utteranceId, byte[] audioData, int progress) { 
  15.             // Log.info(utteranceId + " audio synthesis progress:" + progress); 
  16.         } 
  17.         @Override 
  18.         public void onFinish(String utteranceId) { 
  19.             // Log.info(utteranceId + " audio synthesis completed"); 
  20.         } 
  21.         @Override 
  22.         public void onSpeechStart(String utteranceId) { 
  23.             // Log.info(utteranceId + " begins to speech"); 
  24.         } 
  25.         @Override 
  26.         public void onSpeechProgressChanged(String utteranceId, int progress) { 
  27.             // Log.info(utteranceId + " speech progress:" + progress); 
  28.         } 
  29.         @Override 
  30.         public void onSpeechFinish(String utteranceId) { 
  31.             // Log.info(utteranceId + " speech completed"); 
  32.         } 
  33.         @Override 
  34.         public void onError(String utteranceId, String errorMessage) { 
  35.             // Log.info(utteranceId + " errorMessage: " + errorMessage); 
  36.         } 
  37. }; 
  38. TtsClient.getInstance().create(context, ttsListener); 

2、在TTS接口創建成功后初始化TTS引擎

  1. TtsParams ttsParams = new TtsParams(); 
  2. ttsParams.setDeviceId("deviceId"); 
  3. boolean initResult = TtsClient.getInstance().init(ttsParams); 

3、初始化TTS引擎成功后調用音頻轉換并播放接口

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

4、使用完成后銷毀TTS客戶端

  1. TtsClient.getInstance().destroy(); 

示例代碼

1、xml布局

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <DirectionalLayout 
  3.   xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  4.   ohos:height="match_parent" 
  5.   ohos:width="match_parent" 
  6.   ohos:orientation="vertical"
  7.     <Text 
  8.       ohos:height="match_content" 
  9.       ohos:width="match_content" 
  10.       ohos:margin="15vp" 
  11.       ohos:text="AI語音播報" 
  12.       ohos:text_size="23fp" 
  13.       ohos:top_margin="40vp"/> 
  14.     <TextField 
  15.       ohos:id="$+id:text" 
  16.       ohos:height="300vp" 
  17.       ohos:width="match_content" 
  18.       ohos:layout_alignment="horizontal_center" 
  19.       ohos:left_margin="20vp" 
  20.       ohos:multiple_lines="true" 
  21.       ohos:right_margin="20vp" 
  22.       ohos:text="某軟件公司是中國領先的軟件與信息技術服務商,企業數字轉型可信賴合作伙伴。公司2001年成立于北京,立足中國,服務全球市場。經過18年發展,目前公司在全球43個城市設有90多個分支機構26個全球交付中心,員工總數近60000人。該軟件公司擁有深厚的行業積累和領先的技術實力,可以為客戶提供端到端的數字化產品和服務,包括數字化咨詢與解決方案、云智能與基礎設施、軟件與技術服務和數字化運營等;在10余個重要行業服務超過1000家國內外客戶,其中世界500強企業客戶超過110家,為各領域客戶創造價值。" 
  23.       ohos:text_size="50" 
  24.       ohos:top_margin="20vp" 
  25.       /> 
  26.     <DirectionalLayout 
  27.       xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  28.       ohos:height="match_parent" 
  29.       ohos:width="match_parent" 
  30.       ohos:orientation="horizontal"
  31.         <Button 
  32.           ohos:id="$+id:read_btn" 
  33.           ohos:height="35vp" 
  34.           ohos:width="80vp" 
  35.           ohos:background_element="$graphic:background_button" 
  36.           ohos:margin="15vp" 
  37.           ohos:text="語音播報" 
  38.           ohos:text_size="16fp"/> 
  39.         <Text 
  40.           ohos:id="$+id:time" 
  41.           ohos:height="35vp" 
  42.           ohos:width="150vp" 
  43.           ohos:margin="15vp" 
  44.           ohos:text="播報耗時:0 s" 
  45.           ohos:text_size="16fp"/> 
  46.     </DirectionalLayout> 
  47. </DirectionalLayout> 

 2、案例代碼

  1. package com.isoftstone.tts.slice; 
  2.  
  3. import com.isoftstone.tts.ResourceTable; 
  4. import ohos.aafwk.ability.AbilitySlice; 
  5. import ohos.aafwk.content.Intent; 
  6. import ohos.agp.components.Button; 
  7. import ohos.agp.components.Component; 
  8. import ohos.agp.components.Text; 
  9. import ohos.agp.components.TextField; 
  10. import ohos.ai.tts.TtsClient; 
  11. import ohos.ai.tts.TtsListener; 
  12. import ohos.ai.tts.TtsParams; 
  13. import ohos.ai.tts.constants.TtsEvent; 
  14. import ohos.eventhandler.EventHandler; 
  15. import ohos.eventhandler.EventRunner; 
  16. import ohos.eventhandler.InnerEvent; 
  17. import ohos.hiviewdfx.HiLog; 
  18. import ohos.hiviewdfx.HiLogLabel; 
  19. import ohos.utils.PacMap; 
  20. import java.util.Timer; 
  21. import java.util.TimerTask; 
  22. import java.util.UUID; 
  23.  
  24. public class MainAbilitySlice extends AbilitySlice { 
  25.     private static final HiLogLabel LABEL_LOG = new HiLogLabel(3, 0xD001100, "MainAbilitySlice"); 
  26.     private TextField infoText; 
  27.     private Text timeText; 
  28.     private boolean initItsResult; 
  29.     private static final int EVENT_MSG_TIME_COUNT = 0x1000002; 
  30.     private int time = 0; 
  31.     private Timer timer = null
  32.     private TimerTask timerTask = null
  33.  
  34.     private EventHandler handler = new EventHandler(EventRunner.current()) { 
  35.         @Override 
  36.         protected void processEvent(InnerEvent event) { 
  37.             switch (event.eventId) { 
  38.                 case EVENT_MSG_TIME_COUNT: 
  39.                     getUITaskDispatcher().delayDispatch(() -> { 
  40.                         time = time + 1; 
  41.                         HiLog.info(LABEL_LOG, "播報耗時:" + time + " s"); 
  42.                         timeText.setText("播報耗時:" + time + " s"); 
  43.                     }, 0); 
  44.                     break; 
  45.                 default
  46.                     break; 
  47.             } 
  48.         } 
  49.     }; 
  50.  
  51.     @Override 
  52.     public void onStart(Intent intent) { 
  53.         super.onStart(intent); 
  54.         super.setUIContent(ResourceTable.Layout_ability_main); 
  55.         initView(); 
  56.         initTtsEngine(); 
  57.     } 
  58.  
  59.     private void initView() { 
  60.         infoText = (TextField) findComponentById(ResourceTable.Id_text); 
  61.         Button readBtn = (Button) findComponentById(ResourceTable.Id_read_btn); 
  62.         timeText = (Text) findComponentById(ResourceTable.Id_time); 
  63.         readBtn.setClickedListener(this::readText); 
  64.     } 
  65.  
  66.     private void initTtsEngine() { 
  67.         TtsClient.getInstance().create(this, ttsListener); 
  68.     } 
  69.  
  70.     private void readText(Component component) { 
  71.         if (initItsResult) { 
  72.             TtsParams ttsParams = new TtsParams(); 
  73.             ttsParams.setSpeed(0);//語速0~15越大越快 
  74.             TtsClient.getInstance().setParams(ttsParams); 
  75.             HiLog.info(LABEL_LOG, "initItsResult is true, speakText"); 
  76.             TtsClient.getInstance().speakText(infoText.getText(), null); 
  77.         } else { 
  78.             HiLog.error(LABEL_LOG, "initItsResult is false"); 
  79.         } 
  80.     } 
  81.  
  82.     private TtsListener ttsListener = new TtsListener() { 
  83.         @Override 
  84.         public void onEvent(int eventType, PacMap pacMap) { 
  85.             HiLog.info(LABEL_LOG, "onEvent..."); 
  86.             // 定義TTS客戶端創建成功的回調函數 
  87.             if (eventType == TtsEvent.CREATE_TTS_CLIENT_SUCCESS) { 
  88.                 TtsParams ttsParams = new TtsParams(); 
  89.                 ttsParams.setDeviceId(UUID.randomUUID().toString()); 
  90.                 initItsResult = TtsClient.getInstance().init(ttsParams); 
  91.             } 
  92.         } 
  93.         @Override 
  94.         public void onStart(String utteranceId) { 
  95.             HiLog.info(LABEL_LOG, "onStart..."); 
  96.         } 
  97.         @Override 
  98.         public void onProgress(String utteranceId, byte[] audioData, int progress) { 
  99.         } 
  100.         @Override 
  101.         public void onFinish(String utteranceId) { 
  102.             HiLog.info(LABEL_LOG, "onFinish..."); 
  103.         } 
  104.         @Override 
  105.         public void onError(String s, String s1) { 
  106.             HiLog.info(LABEL_LOG, "onError..."); 
  107.         } 
  108.         @Override 
  109.         public void onSpeechStart(String utteranceId) { 
  110.             // 開始計時 
  111.             HiLog.info(LABEL_LOG, "onSpeechStart..."); 
  112.             if (timer == null && timerTask == null) { 
  113.                 timer = new Timer(); 
  114.                 timerTask = new TimerTask() { 
  115.                     public void run() { 
  116.                         handler.sendEvent(EVENT_MSG_TIME_COUNT); 
  117.                     } 
  118.                 }; 
  119.                 timer.schedule(timerTask, 0, 1000); 
  120.             } 
  121.         } 
  122.         @Override 
  123.         public void onSpeechProgressChanged(String utteranceId, int progress) { 
  124.         } 
  125.         @Override 
  126.         public void onSpeechFinish(String utteranceId) { 
  127.             // 結束計時 
  128.             HiLog.info(LABEL_LOG, "onSpeechFinish..."); 
  129.             timer.cancel(); 
  130.             time = 0; 
  131.             timer = null
  132.             timerTask = null
  133.         } 
  134.     }; 

實現效果:

HarmonyOS AI基礎技術賦能之語音播報-鴻蒙HarmonyOS技術社區

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-08-26 09:50:06

鴻蒙HarmonyOS應用

2021-09-13 15:14:01

鴻蒙HarmonyOS應用

2021-08-31 14:58:52

鴻蒙HarmonyOS應用

2021-09-03 15:27:17

鴻蒙HarmonyOS應用

2021-12-24 10:34:11

鴻蒙HarmonyOS應用

2022-02-17 17:19:31

鴻蒙語音識別語音播報

2021-08-27 09:57:18

鴻蒙HarmonyOS應用

2021-01-14 15:07:33

人工智能游戲網絡

2018-09-18 11:47:17

2020-12-14 09:23:16

人工智能教育機器人

2025-09-10 16:14:16

2020-04-27 10:39:19

人工智能技術語音識別

2023-05-26 01:01:06

AI幻燈片人工智能

2021-07-14 17:25:59

AI/網絡/體驗至上

2022-08-25 13:19:31

5G人工智能無線技術
點贊
收藏

51CTO技術棧公眾號

舐め犯し波多野结衣在线观看| 亚洲午夜精品久久| 国产精品男女视频| 第一会所亚洲原创| 日韩欧美在线网站| 激情深爱综合网| 国产精品一区二区三区四区色| 麻豆精品久久精品色综合| 久久夜色精品国产| jizz日本免费| 4438五月综合| 大伊人狠狠躁夜夜躁av一区| 天堂√在线观看一区二区| 国产偷拍一区二区| 久久aⅴ乱码一区二区三区| 三级精品视频久久久久| 成熟妇人a片免费看网站| 亚洲精品555| 亚洲成人久久影院| 亚洲国产一区二区三区在线播| 成人免费公开视频| 免费看欧美女人艹b| 国产一区精品福利| 国产成人综合在线| 国产精品国产三级国产aⅴ9色| 日本妇女毛茸茸| 视频一区中文| 亚洲黄在线观看| 一级黄色片国产| 日韩电影大全网站| 亚洲不卡一区二区三区| 中文字幕超清在线免费观看| 黄色大片在线免费观看| av一区二区三区四区| 91精品啪在线观看麻豆免费| 久久久久久av无码免费看大片| 日韩视频三区| 欧美极品少妇xxxxⅹ喷水| 久久久精品成人| 国产探花一区| 精品一区二区电影| 亚洲熟女乱综合一区二区三区| 精品一区二区三区免费看| 欧美日韩中文字幕一区二区| 人妻有码中文字幕| 国产粉嫩在线观看| 亚洲成人激情综合网| 成年人视频网站免费| 午夜伦理大片视频在线观看| 亚洲女厕所小便bbb| 宅男噜噜99国产精品观看免费| 粉嫩av在线播放| 国产亲近乱来精品视频| 青青草原成人| 91青青在线视频| 中文字幕成人av| 亚洲国产欧美不卡在线观看| 日本三级视频在线播放| 国产精品网曝门| 一区二区日本| 欧美13一16娇小xxxx| 中文字幕一区二区三区四区| av磁力番号网| 毛片在线网址| 欧美午夜精品在线| 一本久道综合色婷婷五月| 日韩不卡免费高清视频| 91精品1区2区| 国产精品嫩草影院8vv8| 久久久久九九精品影院| 精品少妇一区二区三区在线播放| 久久人妻少妇嫩草av蜜桃| jazzjazz国产精品久久| 日韩电视剧免费观看网站| 国产精品1000部啪视频| 日本成人小视频| 色午夜这里只有精品| 男人操女人的视频网站| 亚洲日本久久| 国产精品视频xxx| 97成人免费视频| 丁香桃色午夜亚洲一区二区三区| 免费av在线一区二区| porn亚洲| 一级日本不卡的影视| 久久久亚洲精品无码| 456亚洲精品成人影院| 欧美老女人第四色| 欧美成人福利视频| 国产美女主播在线播放| 中文字幕21页在线看| 欧美日韩亚洲国产综合| 日本人dh亚洲人ⅹxx| 亚洲第一二三区| 日韩性生活视频| 青青草av在线播放| 看电视剧不卡顿的网站| 风间由美一区二区三区| 久久精品色图| 亚洲精品国产a| 欧美 国产 日本| 国产高清亚洲| 亚洲视屏在线播放| 欧美日韩一级在线观看| 玖玖在线精品| 成人综合色站| av成人手机在线| 亚洲v中文字幕| 57pao国产成永久免费视频| 7m精品国产导航在线| 在线看欧美日韩| 日本中文字幕免费观看| 久草这里只有精品视频| 欧美精品一区在线| 国内高清免费在线视频| 欧美日韩一本到| av小说在线观看| 激情欧美亚洲| 亚洲a在线观看| 爱爱爱免费视频在线观看| 午夜精品久久久| 超碰在线超碰在线| 日韩国产专区| 国产精品第一区| 日本福利片在线| 午夜亚洲国产au精品一区二区| www.51色.com| 欧美激情国产在线| 国产精品99久久久久久www| 天堂在线视频免费| 亚洲综合色区另类av| 91aaa精品| 国产高清一区| 成人有码视频在线播放| 午夜视频在线看| 欧美日韩中文字幕精品| 亚洲日本精品视频| 国产精品永久| 久久精品国产一区二区三区日韩| 成人免费看黄网站| 六十路在线观看| 精品久久久久人成| 日本久久久久久久久久| 欧美高清一区| 亚洲精品免费在线视频| 超碰国产在线| 欧美久久高跟鞋激| 黑人操日本美女| 精品一区在线看| 在线免费一区| 国产一区二区三区视频在线| 久久网福利资源网站| 国产精品免费无遮挡| 最新国产成人在线观看| 亚洲男人天堂2021| 午夜精品久久久久99热蜜桃导演| 91视频99| 岛国av在线播放| 亚洲精品一区av在线播放| 黄瓜视频在线免费观看| 国产人久久人人人人爽| 九色porny自拍| 欧美.www| 国产麻豆日韩| 蜜桃成人精品| 最近2019中文字幕mv免费看| 99热在线只有精品| 亚洲国产精品尤物yw在线观看| 男女性杂交内射妇女bbwxz| 亚洲久久在线| 色大师av一区二区三区| 国产精品成人**免费视频| 欧美大片免费观看在线观看网站推荐 | 成年人在线观看视频免费| 日韩国产欧美一区二区| 2020国产精品久久精品不卡| 9999精品成人免费毛片在线看| 亚洲欧美视频在线| 国产精品女人久久久| 亚洲一区二区三区激情| 日韩人妻一区二区三区| 狠狠色综合日日| 精品欧美一区免费观看α√| 成人同人动漫免费观看| 99re视频在线| 亚洲欧美在线成人| 九色成人免费视频| 日本中文字幕电影在线观看| 3d动漫精品啪啪1区2区免费| 日本va欧美va国产激情| 国产精品无人区| 一二三区视频在线观看| 日韩成人av影视| wwwwww欧美| 三级电影一区| 国产日本一区二区三区| 久久99国产精品二区高清软件| 欧美二区乱c黑人| 成在在线免费视频| 精品国精品国产尤物美女| 乱子伦一区二区三区| 一区二区三区在线免费视频| 中文字幕黄色网址| 99精品久久99久久久久| 香蕉视频xxx| 日韩国产在线观看一区| 妞干网在线观看视频| 99久久亚洲精品| 欧美国产一区二区在线| 亚洲日本视频在线| 国产精品丝袜久久久久久高清| 成人性生交大片免费看网站| 久久在线精品视频| 成人在线二区| 日韩电影大片中文字幕| a级片在线免费看| 欧美日韩一区三区| 9i看片成人免费看片| 亚洲综合视频在线| 四虎影视1304t| 国产色产综合产在线视频| 中文字幕乱码一区| 国产精品夜夜爽| 亚洲va综合va国产va中文| 日韩精品一区第一页| 国产精品自拍片| 伊人影院久久| 国风产精品一区二区| 欧美成人激情| 视频一区三区| 九九视频精品全部免费播放| 久久精品magnetxturnbtih| 99久久婷婷国产综合精品青牛牛| 91精品在线观看视频| 国产欧美自拍| 国产日本欧美一区| 国产一区二区三区四区五区3d| 国产精品第三页| 国产91在线精品| 国产区精品视频| 小说区图片区亚洲| 国产在线精品一区免费香蕉| 国产精品天堂蜜av在线播放| 国产精品天天狠天天看| 日韩午夜视频在线| 成人免费淫片aa视频免费| 日日夜夜一区| 91嫩草免费看| 国产成人精品福利| 精品久久久久久综合日本 | 欧美成人官网二区| 亚洲精品第五页| 亚洲国产91色在线| 三级网站在线看| 亚洲美女自拍视频| 国模精品一区二区| 中文字幕日韩综合av| 欧美成人精品一区二区男人看| 久久久av网站| 国产蜜臀av在线播放| 69影院欧美专区视频| 超级碰碰久久| 国产精品专区一| 国产一区二区视频在线看| 99国产超薄肉色丝袜交足的后果| caoporn成人| 久久综合久久久| 欧美色图国产精品| 欧美a级黄色大片| 亚洲国产网站| 午夜激情福利在线| 国产一二三精品| 艳妇乳肉豪妇荡乳xxx| 久久精品视频免费| 强制高潮抽搐sm调教高h| 亚洲精品菠萝久久久久久久| 国产成人免费观看视频| 欧美午夜精品久久久久久超碰| 国产麻豆免费视频| 亚洲成人教育av| 91porn在线观看| 久久久噜噜噜久久中文字免| 亚洲天堂一区二区| 3d蒂法精品啪啪一区二区免费| 欧美顶级毛片在线播放| 亚洲高清123| 亚洲精品社区| 日韩不卡一二三| 91色婷婷久久久久合中文| 日韩在线一卡二卡| 欧美日韩中国免费专区在线看| 一区二区视频网| 亚洲国产成人91精品| 在线国产情侣| 欧美孕妇性xx| 免费一区二区三区在线视频| 麻豆成人在线播放| 欧美日韩调教| 九色porny自拍| 91影院在线免费观看| 欧美视频www| 一本久道久久综合中文字幕| 国内精品偷拍视频| 在线观看久久久久久| 精品精品导航| 国产一区二区视频在线观看| 亚洲另类春色校园小说| 中文字幕一区二区三区四区五区人| 久久久久网站| 免费日本黄色网址| 玉足女爽爽91| 国产又黄又大又爽| 亚洲午夜小视频| 婷婷电影在线观看| 风间由美一区二区三区| 自拍偷拍欧美| 国产一区二区在线观看免费视频| 久久久久久久电影| 日本学生初尝黑人巨免费视频| 日韩一区二区三区在线观看| 尤物视频在线免费观看| 国产不卡视频在线| 神马午夜久久| 秋霞无码一区二区| 高清免费成人av| 午夜69成人做爰视频| 欧美中文一区二区三区| 免费理论片在线观看播放老| 97免费视频在线播放| 国产一区二区三区亚洲| 国产成人亚洲综合无码| 国模娜娜一区二区三区| 日韩三级久久久| 欧美日本免费一区二区三区| 成人不用播放器| 国产成人综合久久| 久久99精品久久久久久园产越南| 一区二区传媒有限公司| av电影在线观看一区| 免费一级特黄特色大片| 日韩免费视频一区二区| 亚洲电影视频在线| 97碰碰视频| 亚洲日本激情| 免费看黄色aaaaaa 片| 色综合天天狠狠| 精品影院一区| 国产精品久久久久久影视| av中字幕久久| 成人综合久久网| 亚洲精品日产精品乱码不卡| 99热在线只有精品| 久久久久久国产精品久久| 成人福利免费在线观看| 国产成人精品视频免费看| 久久夜色精品国产欧美乱极品| 丁香社区五月天| 中文字幕亚洲综合久久| 精品中文字幕一区二区三区四区| 777久久精品一区二区三区无码| 国产成人欧美日韩在线电影| 国产精品7777| 亚洲深夜福利网站| 福利一区二区| 成人免费在线视频播放| 97久久精品人人爽人人爽蜜臀| 日本久久综合网| 日韩一区二区福利| 人人九九精品视频| 黄色片网址在线观看| 久久久午夜精品理论片中文字幕| 中文字幕在线观看免费| 欧美日韩国产999| 色哟哟精品丝袜一区二区| 国产精品视频中文字幕| 亚洲国产精品久久不卡毛片 | 日本熟妇人妻xxxxx| 国产精品久久久久久久岛一牛影视 | 国产尤物91| 日韩黄色在线观看| 人妻久久一区二区| 亚洲精品小视频在线观看| 91久久青草| 欧美日韩国产精品激情在线播放| 国产女人18水真多18精品一级做| 99久久久国产精品无码网爆| 97av在线视频| 91麻豆精品国产91久久久平台| 毛茸茸free性熟hd| 欧美亚一区二区| brazzers在线观看| 亚洲二区三区四区| av亚洲精华国产精华精| 亚洲综合免费视频| 韩国精品美女www爽爽爽视频| 欧美综合视频| 精品人妻伦一二三区久| 欧美日韩在线直播| 理论片午夜视频在线观看| 亚洲午夜精品一区二区|