精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

麻豆精品一二三| 亚洲va久久久噜噜噜久久| 亚洲综合在线视频| 久久99精品国产99久久| 在线观看国产区| 久久久久免费av| 亚洲激情小视频| 国内国产精品天干天干| 波多野结衣在线播放| 国产拍欧美日韩视频二区| 91香蕉视频在线下载| 69国产精品视频免费观看| 国产电影一区二区在线观看| 欧美最新另类人妖| 久久男女视频| 久久五月天综合| 少妇一级淫免费观看| 97人人做人人爽香蕉精品| 一区二区三区四区中文字幕| 欧美日韩一区二区三| 国产视频第一页| 久久精品男女| 久久久久久成人精品| 国产aaaaaaaaa| 美女视频免费精品| 日韩一区国产二区欧美三区| 成年人在线看片| 黑人另类精品××××性爽| 中文字幕中文字幕中文字幕亚洲无线| 精品久久久久久一区| 国产伦精品一区二区三区四区 | 欧美黑吊大战白妞| 杨幂一区二区三区免费看视频| 日韩精品中文字幕在线一区| 伊人网在线综合| 外国成人直播| 欧美日韩黄色大片| av在线免费观看国产| 日本中文字幕电影在线免费观看 | 国产白丝一区二区三区| 日韩成人一级| 精品国产一区久久| 真实乱偷全部视频| 粉嫩一区二区三区在线观看| 欧美日韩国产小视频在线观看| 国产精品欧美激情在线观看| 久草在线中文最新视频| 亚洲国产aⅴ天堂久久| 亚洲一区 在线播放| 久做在线视频免费观看| 国产精品福利一区| 中文字幕一区二区三区乱码 | 日韩啪啪网站| 亚洲第一中文字幕| 欧美日韩一区二区三区四区五区六区| 日韩综合一区二区三区| 这里是久久伊人| 91香蕉视频在线观看视频| 国产精品一级在线观看| 欧美一区二区三区不卡| 日本高清免费在线视频| 天堂精品久久久久| 欧美成人精品1314www| 日本中文字幕有码| 国产成人tv| 亚洲精品美女在线| 自拍偷拍亚洲天堂| 欧美美女一区| 久久精品这里热有精品| 欧洲第一无人区观看| 伊人色**天天综合婷婷| 欧美老少做受xxxx高潮| 91浏览器在线观看| 久久久久.com| 国产日韩欧美黄色| 亚洲成人第一区| 成人的网站免费观看| 久久av免费观看| 丁香婷婷在线观看| 中文字幕五月欧美| 欧美黄色免费网址| 手机在线观看av网站| 在线观看视频一区二区| 国产无遮挡猛进猛出免费软件| 日本久久一区| 欧美一级黄色片| 污污内射在线观看一区二区少妇 | 国产成人精品一区二| 韩国成人一区| 在线免费观看的av网站| 亚洲男人都懂的| 国产午夜福利100集发布| 欧美大片免费| 日韩欧美黄色影院| 亚洲永久精品ww.7491进入| 第一会所sis001亚洲| 超在线视频97| 亚洲精品中文字幕乱码三区91| 免费在线看成人av| 国产精品v欧美精品v日韩| 麻豆国产在线播放| 亚洲欧美日韩在线| 免费在线激情视频| 精品一区二区三区中文字幕在线 | 99re资源| 成年网站在线| 亚洲成人av一区二区三区| 91日韩视频在线观看| 伊人久久影院| 国产一区二区三区在线观看网站| 91麻豆免费视频网站| 性一交一乱一区二区洋洋av| 成人免费看吃奶视频网站| 污视频在线免费观看| 亚洲欧洲成人自拍| 哪个网站能看毛片| 亚洲一区 二区| 国产亚洲xxx| 99视频在线看| 国产麻豆精品一区二区| 日韩欧美一区二区三区四区| 丁香花高清在线观看完整版| 欧美日韩国产免费| 人妻少妇一区二区| 伊人久久大香线蕉综合热线| 国产成人精品综合久久久| 蜜臀av免费在线观看| 亚洲天堂免费看| 日韩一级片播放| 日韩免费电影在线观看| 国内精品视频久久| 国产黄色一级大片| 亚洲人吸女人奶水| 五月婷婷狠狠操| 亚洲人成亚洲精品| 韩日欧美一区二区| 午夜精品久久久久久久99老熟妇| 国产精品麻豆久久久| 国产a视频免费观看| 国产精伦一区二区三区| 欧美大片在线看| 99草在线视频| 亚洲视频一二三区| 亚洲三级在线观看视频| 四季av在线一区二区三区| 国产成人鲁鲁免费视频a| 欧美在线一卡| 懂色aⅴ精品一区二区三区蜜月| www.美色吧.com| 国产综合精品| 国产欧美日韩综合一区在线观看 | 亚洲综合av网| 伊人av在线播放| 久久精品影视| 97se视频在线观看| 牛牛电影国产一区二区| 日韩精品专区在线影院重磅| 久久伊人成人网| 成人性视频免费网站| 成年人午夜免费视频| 麻豆成人入口| 日本高清+成人网在线观看| 欧美日韩视频精品二区| 色婷婷一区二区三区四区| 国产ts丝袜人妖系列视频 | 亚洲欧美视频在线观看| 午夜大片在线观看| 黄色在线成人| 久久精品国产美女| 免费观看成人性生生活片| 中文字幕日韩在线视频| 国产影视一区二区| 伊人婷婷欧美激情| 中文字幕 日本| 久久亚洲精品伦理| 一本色道婷婷久久欧美| 国产一区2区在线观看| 欧美国产日韩一区二区| 污视频在线免费观看| 日本高清不卡视频| 免费成人美女女在线观看| 国产成人自拍网| 国产极品在线视频| 精品72久久久久中文字幕| 国产欧美一区二区三区视频| 少女频道在线观看高清| 亚洲精品99久久久久| 欧美一级做a爰片免费视频| 日韩毛片一二三区| 妖精视频一区二区| 免费观看成人av| 国产不卡一区二区视频| 欧美精品尤物在线观看| 91亚洲精品丁香在线观看| 国产精品av一区二区三区| 日韩一级裸体免费视频| 天堂在线中文网| 欧美另类一区二区三区| 日韩精品一卡二卡| 中文字幕中文字幕一区二区| 国产精品一区二区人妻喷水| 免费在线观看一区二区三区| 久久综合久久网| 日韩一区二区在线| 久久艳妇乳肉豪妇荡乳av| 韩国三级大全久久网站| 青青草一区二区| 污视频网站在线免费| 亚洲天堂免费观看| www夜片内射视频日韩精品成人| 岛国精品视频在线播放| 青青草手机在线视频| 中文字幕av资源一区| 精品视频站长推荐| 激情综合网av| 午夜免费福利在线| 国产精品乱看| 国产一级大片免费看| 色狮一区二区三区四区视频| 精品午夜一区二区| 免费一级欧美在线大片| 国产精品主播视频| 免费在线小视频| 九九热视频这里只有精品| 9色在线观看| 精品视频一区在线视频| 亚洲精品无amm毛片| 欧美精品日韩一区| 亚洲精品国产精品乱码视色| 福利微拍一区二区| 久久久久久欧美精品se一二三四| 日韩久久一区二区| 国产视频123区| 久久久久9999亚洲精品| 欧美色图亚洲激情| 99久久99久久精品国产片果冻| 欧美一级大片免费看| 国产一区二区三区国产| 日本美女视频一区| 精品中文av资源站在线观看| 九九精品久久久| 久久精品国产999大香线蕉| 超碰在线97免费| 美女视频第一区二区三区免费观看网站| 色综合av综合无码综合网站| 国产精品美女久久久| 欧美日韩在线不卡视频| 老鸭窝毛片一区二区三区| 777久久久精品一区二区三区| 一区二区动漫| 草草草在线视频| 蜜臀va亚洲va欧美va天堂 | 日本一二三区视频| 亚洲a一区二区| 亚洲免费激情视频| 日韩欧美精品中文字幕| 无码人妻精品一区二区| 欧美丝袜自拍制服另类| 怡春院在线视频| 欧美人妇做爰xxxⅹ性高电影| 一级黄色片免费| 欧美福利视频导航| 国产成人精品av在线观| 精品久久久久久久一区二区蜜臀| 亚洲国产欧美另类| 91精品国产免费| 国产乱人乱偷精品视频| 亚洲成成品网站| 四虎在线视频| 中文字幕日韩欧美精品在线观看| aiai在线| 久久久久久18| 欧美黑人粗大| 成人av在线亚洲| 视频欧美一区| 久久亚洲国产精品日日av夜夜| 欧美日韩国产免费观看视频| 做爰高潮hd色即是空| 精品动漫一区| 欧美伦理视频在线观看| 国产一区二区精品久久99| 日本道中文字幕| 久久久不卡网国产精品一区| 五月婷婷综合激情网| 亚洲国产成人va在线观看天堂| 日本视频在线观看免费| 欧美日韩国产色站一区二区三区| 成人久久久精品国产乱码一区二区| 亚洲精品永久免费| а√天堂8资源在线官网| 4438全国成人免费| 亚洲我射av| 欧美激情一区二区三区在线视频 | 久久久91麻豆精品国产一区| 精品国产乱码久久久久久蜜柚| 日本在线电影一区二区三区| 日韩av在线播放不卡| 奇米888四色在线精品| 久久久无码人妻精品无码| 国产午夜亚洲精品午夜鲁丝片 | 国产精品不卡| 国产白丝袜美女久久久久| 久久99国产精品免费| 黄色性生活一级片| 亚洲人成精品久久久久久| 青青草免费观看视频| 91精品国产高清一区二区三区| 神马久久高清| 欧美激情国产高清| 国产精品黄色片| 欧美国产一区二区在线| 欧美视频在线观看| 自拍偷拍一区二区三区四区| 91尤物视频在线观看| 九九热这里有精品视频| 在线观看成人免费视频| 乱精品一区字幕二区| 久久久国产视频| 日韩欧美一区二区三区在线观看| 国产精品美女黄网| 91精品国偷自产在线电影| 久久精品视频91| 99re在线精品| 国产亚洲精品码| 91精品国产综合久久精品图片| 可以直接在线观看的av| 91国产精品视频在线| 深夜激情久久| 欧美 日韩 国产 在线观看| 日本欧洲一区二区| 亚洲天堂网一区二区| 午夜欧美视频在线观看| 国产黄色片网站| 久久不射电影网| 国产精品成人**免费视频| 日本福利视频导航| 久久激情五月激情| 日韩视频在线观看免费视频| 色综合婷婷久久| 欧美偷拍视频| 欧美在线性视频| 精品视频自拍| 亚洲午夜精品久久久久久人妖| 成人av电影在线网| 国产成人无码精品| 日韩av一区二区在线| 成年男女免费视频网站不卡| 精品国产一区二区三区四区精华| 在线国产日韩| 免费a在线观看播放| 欧美性精品220| 男女网站在线观看| 日韩美女视频免费看| 蜜桃a∨噜噜一区二区三区| 青青草原av在线播放| 久久亚洲精精品中文字幕早川悠里 | 性生活免费网站| 久久久久久久97| 日韩av三区| 激情综合网俺也去| 中文字幕中文字幕一区二区| 国产成人三级一区二区在线观看一 | 中文字幕人妻一区二区| 在线免费观看不卡av| 91ph在线| 99久久久久国产精品免费 | 黄色成人免费看| 国产精品成人网| 性中国xxx极品hd| 97激碰免费视频| 免费欧美一区| 中文字幕 91| 亚洲一区二区三区不卡国产欧美| 国产91绿帽单男绿奴| 日本在线精品视频| 羞羞答答成人影院www| 国产人妖在线观看| 欧美日韩在线视频观看| 在线观看的av| 99精品国产高清一区二区| 亚久久调教视频| 中文乱码字幕高清一区二区| 精品av久久707| 国产精品久久久久久妇女| 成人手机在线播放| 久久综合久久久久88| 亚洲字幕av一区二区三区四区| 欧美高清激情视频| 国产成人一区| 精品人妻一区二区乱码| 色8久久人人97超碰香蕉987| 宅男在线观看免费高清网站| 久久久神马电影| 国产伦精品一区二区三区免费| 亚洲不卡视频在线观看| 久久精品视频在线| 嫩草一区二区三区| 97免费公开视频| 欧美三级电影网| 日本不卡网站|