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

如何用JS開發(fā)自定義播放欄的視頻播放器

開發(fā) 前端
我們從屬性、事件、方法中可以得出,以現(xiàn)在提供的能力,完全可以重寫視頻的控制欄。接下來就是界面的構(gòu)思和布局。

[[429579]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

效果圖

原始控件效果圖:

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

修改后的效果圖:

看過了演示效果,接下來講解如何開發(fā)。

開發(fā)部分

在開發(fā)之前,我們要先翻閱文檔,了解系統(tǒng)提供的能力。

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

我們從屬性、事件、方法中可以得出,以現(xiàn)在提供的能力,完全可以重寫視頻的控制欄。

接下來就是界面的構(gòu)思和布局:

界面布局

1. 整體布局

整體界面分為:視頻播放、視頻列表、評論區(qū)三大部分。

所以我們代碼上先構(gòu)建三個div。

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

2.video區(qū)域布局

想要把控制欄覆蓋到video上面我們就需要借助stack組件,如下圖:

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

視頻控制欄我們分為上下兩個部分,所以需要構(gòu)建兩個div來包裹里面控件,如下圖:

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

再往下就是控制欄上細節(jié)上的控件了,包括文字、按鈕、滑動條等,在此就不進行贅述了。

3.視頻列表區(qū)域及評論區(qū)域

視頻列表區(qū)域和評論區(qū)域排版相對比較簡單,一個標題欄將顯示區(qū)域進行分割,再一個list列表顯示內(nèi)容。

評論區(qū)域則多一欄評論功能,其結(jié)構(gòu)排版如圖:

如何用JS開發(fā)自定義播放欄的視頻播放器 -鴻蒙HarmonyOS技術(shù)社區(qū)

整個排版結(jié)構(gòu)大致介紹完畢,以下為hml頁面的全部代碼供參考:

  1. <div class="container"
  2.     <!--播放區(qū)域--> 
  3.     <div class="video"
  4.         <!--播放區(qū)域--> 
  5.         <div class="video-play" show="{{!isShowController}}"
  6.             <stack> 
  7.                 <video if="{{resetVideo}}" speed="{{playSpeed}}" @touchmove="videoTouchMoved" direction="horizontal" @error="resetVideo" id="m_video" src="{{playedVideo.src}}" @timeupdate="timeChanged" @prepared="mPrepared" @start="mStart" @pause="mStop" @finish="mStop" direction="horizontal" poster="{{playedVideo.image}}" @touchend="toolsTouched" controls="false"></video> 
  8.                 <!--工具欄,當觸發(fā)屏幕時顯示,n秒后自動隱藏--> 
  9.                 <div class="vide-tools" show="{{ showToolsTime>0 }}" @touchend="toolsTouched" @touchmove="videoTouchMoved"
  10.                     <div class="video-tools_child tools-top" @touchstart="childToolTouched"
  11.                         <div class="tools-left"
  12.                             <!--標題--> 
  13.                             <text class="title">{{playedVideo.name}}</text> 
  14.                         </div> 
  15.                         <div class="tools-top-right"
  16.                             <!--流轉(zhuǎn)--> 
  17.                             <image class="control_button" @touchend="remoteIt" src="../../common/images/ic_hop.svg"></image > 
  18.                         </div> 
  19.                     </div> 
  20.  
  21.                     <div class="video-tools_child tools-bottom" @touchstart="childToolTouched"
  22.                         <div class="tools-left"
  23.                             <!--播放/暫停--> 
  24.                             <button @touchend="playOrPause" class="tools-btn">{{isPlayed?"‖":"▷"}}</button> 
  25.                             <!--當前播放時長--> 
  26.                             <text class="duration-text">{{thisTimeStr}}</text> 
  27.                             <!--滑塊--> 
  28.                             <slider class="v-slider" step="1" max="{{ totalTime }}" value="{{thisTime}}" @change="sliderChanged"></slider> 
  29.                             <!--總播放時長--> 
  30.                             <text class="duration-text">{{totalTimeStr}}</text> 
  31.                         </div> 
  32.                         <div class="tools-right"
  33.                             <!--倍速--> 
  34.                             <button id="speedBtn" @touchend="showSpeedMenu" class="tools-btn btn-speed">{{speedStr}}</button> 
  35.                             <popup id="speedPopup" target="speedBtn" placement="top" > 
  36.                                 <div> 
  37.                                     <text class="speed-child" @touchend="{{speedChanged(2.0)}}">2.0X</text> 
  38.                                     <text class="speed-child" @touchend="{{speedChanged(1.5)}}">1.5X</text> 
  39.                                     <text class="speed-child" @touchend="{{speedChanged(1.0)}}">1.0X</text> 
  40.                                     <text class="speed-child" @touchend="{{speedChanged(0.5)}}">0.5X</text> 
  41.                                 </div> 
  42.                             </popup> 
  43.                             <!--全屏--> 
  44.                             <button class="tools-btn" @touchend="showAllScreen">{{isAllScreen?"╬":"▞"}}</button> 
  45.                         </div> 
  46.                     </div> 
  47.                 </div> 
  48.             </stack> 
  49.         </div> 
  50.     </div> 
  51.     <!--視頻列表--> 
  52.     <div class="video-lists"
  53.         <text class="card-title">視頻列表:</text> 
  54.         <list initialindex="{{playIndex}}" selected="{{playIndex}}" scrollbar="on" > 
  55.             <list-item for="{{ videoSource }}" @touchmove="listTouchMoved"  @touchend="{{checkVideo($idx)}}" > 
  56.                 <div class="preview-video"
  57.                     <image src="{{$item.image}}"></image> 
  58.                     <text>{{$item.name}}</text> 
  59.                 </div> 
  60.             </list-item> 
  61.         </list> 
  62.     </div> 
  63.     <!-- 評論區(qū)   --> 
  64.     <div class="comments"
  65.         <text class="card-title">評論區(qū):</text> 
  66.         <!--評論列表--> 
  67.         <list divider="true"
  68.             <list-item for="thisComments"
  69.                 <div class="comment-info"
  70.                     <!--用戶信息--> 
  71.                     <div class="comment-user"
  72.                         <label>用戶:{{$item.user}}</label> 
  73.                     </div> 
  74.                     <!--內(nèi)容--> 
  75.                     <div class="comment-content"
  76.                         <text>{{$item.content}}</text> 
  77.                     </div> 
  78.                 </div> 
  79.             </list-item> 
  80.         </list> 
  81.         <div class="comment-put"
  82.             <input id="commentMsg" @change="commentChanged" value="{{ commentContent }}" placeholder="請發(fā)表你的想法"></input> 
  83.             <button class="btn" @touchend="sendComment">發(fā) 布</button> 
  84.         </div> 
  85.     </div> 
  86. </div> 

當然僅有hml是不夠的,還需要樣式的配合,樣式相關(guān)文件請參考gitee:https://gitee.com/panda-coder/harmonyos-apps/tree/master/Player。

邏輯控制-js

邏輯控制是個復雜的過程,每個人都有不同的實現(xiàn)方式,不可能細講,就挑一部分進行講解。

1.實現(xiàn)控制欄的功能

要想實現(xiàn)控制欄的播放/暫停、滑動條、全屏等基礎功能需要依賴video控件的方法。只需要執(zhí)行對應函數(shù)即可。

  1. this.$element(控件id).方法(參數(shù)) 

2.computed

computed是一個非常好用的屬性方法。computed內(nèi)的函數(shù)能在hml中直接使用,并且只要在computed函數(shù)的data數(shù)據(jù)改變就會觸發(fā)重新計算。

例如:

  1. computed:{ 
  2.         playedVideo(){//當前播放視頻 
  3.             return this.videoSource[this.playIndex] 
  4.         }, 

獲取當前播放視頻的數(shù)據(jù),在上述方法中,this.videoSource或this.playIndex其中任何一個值進行修改,都會觸發(fā)playedVideo函數(shù)進行重新計算。

這樣處理一些實時變化的數(shù)據(jù)就非常的方便。代碼中的totalTimeStr、thisTimeStr、speedStr這些值就是通過計算來返回一個格式化的文字內(nèi)容。

3.$watch

在視頻中有個功能,就是點擊屏幕后顯示控制欄,不操作間隔5s后控制欄自動消失,但是點擊非控制欄部分直接消失,點擊控制欄部分刷新時間間隔為5s。

大家可以先思考一下該怎么去設計這部分的邏輯控制,以及需要的函數(shù)邏輯操作等再往下看。

我使用$watch部分對showToolsTime 參數(shù)進行監(jiān)聽。

$watch是當監(jiān)聽的值改變后執(zhí)行回調(diào)函數(shù),并回傳監(jiān)聽值變化前幾變化后的值。

在onInit函數(shù)中監(jiān)聽showToolsTime。

  1. onInit() { 
  2.        this.$watch("showToolsTime",'watchShowToolsTimeEvent'
  3.        this.videoSource=data.videoSource 
  4.        this.commentsSource=data.comments 
  5.        this.playIndex=0; 
  6.        this.showToolsTime=5; 
  7.    },   
  8. /監(jiān)聽控制欄顯示時間 
  9.    watchShowToolsTimeEvent(newV,oldV){ 
  10.        if(newV>0){ 
  11.            clearTimeout(this.watchTimer) 
  12.            this.watchTimer=setTimeout(()=>{ 
  13.                if(newV>oldV) 
  14.                    this.showToolsTime=newV 
  15.                --this.showToolsTime; 
  16.            },1000) 
  17.        }else
  18.            this.$element("speedPopup").hide() 
  19.        } 
  20.    }, 

在watchShowToolsTimeEvent中有兩個關(guān)鍵點,一個是clearTimeout,另一個是返回值不能與newV相同。

js中的setTimeOut是異步執(zhí)行,不清理掉timer(setTimeOut)在外部賦值后就會導致數(shù)據(jù)異步賦值問題。

返回值與newV一致$watch就失效了(除非外部激發(fā)),所以執(zhí)行了this.showToolsTime=newV后也要執(zhí)行–this.showToolsTime。

這樣不管任何地方修改this.showToolsTime的值之后,都會進行每秒減1的運算(大于0的情況下)。

4.分布式能力

分布式能力參考官方文檔,無特殊處理。

文檔:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-distributed-migration-0000001050024965

5.左右滑動切換視頻

首先通過touchmove事件先收集手指滑動的坐標。

然后在touchend事件中判斷手指滑動方向。

判斷代碼如下:

  1. getTouchMoveOrientation(source,num){ 
  2.         let orientation=[] 
  3.         for(let i=1;i<source.length;i++){ 
  4.             let startX=source[i-1].localX 
  5.             let startY=source[i-1].localY 
  6.             let moveEndX=source[i].localX 
  7.             let moveEndY=source[i].localY 
  8.             let X=moveEndX-startX; 
  9.             let Y=moveEndY-startY; 
  10.             if(Math.abs(X)>Math.abs(Y) && X>0){ 
  11.                 orientation.push("left2right"
  12.             }else if(Math.abs(X)>Math.abs(Y) && X<0){ 
  13.                 orientation.push("right2left"
  14.             }else if(Math.abs(X)<Math.abs(Y) && Y>0){ 
  15.                 orientation.push("top2bottom"
  16.             }else if(Math.abs(X)<Math.abs(Y) && Y<0){ 
  17.                 orientation.push("bottom2top"
  18.             } 
  19.         } 
  20.         let obj={},maxNum=0 
  21.         orientation.forEach((item,index)=>{ 
  22.             if(orientation.indexOf(item)==index){ 
  23.                 obj[item]=1 
  24.             }else
  25.                 obj[item]+=1 
  26.             } 
  27.         }) 
  28.  
  29.         for(let i in obj){ 
  30.             if(obj[i]>maxNum){ 
  31.                 maxNum=obj[i] 
  32.             } 
  33.         } 
  34.         if(maxNum<num) 
  35.            return "none" 
  36.         for(let i in obj){ 
  37.             if(obj[i]==maxNum) 
  38.                 return i 
  39.         } 
  40.     }, 

先收集滑動方向,然后再找出滑動方向最多的值,再和**閾值(num)**進行比較,超過閾值則返回滑動方向信息,否則返回“none”。

接下來再根據(jù)返回的滑動方向進行一系列操作(如:視頻切換則改變this.playedIndexed值)。

接下來談談不足和感受:

1.list控件在滑動的過程中會觸發(fā)觸摸事件,需要開發(fā)者自行處理,不友好。

2.當video全屏時暫未找到怎么顯示我寫的自定義控件欄。

3.js組件開發(fā)暫無引入三方包功能(僅能引入純js),Java有對應的har,js的三方組件庫還未見引入身影。

4.為什么會提到js的三方組件庫尼,就是因為原生的組件不夠美觀。想通過引入三方庫來構(gòu)建不同體系的組件(可能只是改改樣式)希望盡快安排相關(guān)文檔。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-05-06 15:48:24

播放器鴻蒙

2022-08-16 17:37:06

視頻播放器鴻蒙

2015-05-21 15:25:42

VLC播放器

2022-11-12 08:26:04

VLC視頻播放器裁剪視頻

2009-06-24 15:13:36

自定義JSF組件

2011-07-20 16:21:20

iPhone 視頻 播放器

2018-05-25 14:37:58

2020-12-21 05:58:09

JavaScript視頻播放器開發(fā)

2023-08-26 19:07:40

VLC旋轉(zhuǎn)視頻

2022-06-21 14:41:38

播放器適配西瓜視頻

2020-12-29 05:26:27

視頻播放器Vuevideo

2011-06-13 09:33:04

2020-06-28 14:35:54

OBSWebSockets開源

2021-10-21 16:00:07

鴻蒙HarmonyOS應用

2021-10-19 14:27:07

鴻蒙HarmonyOS應用

2012-05-25 10:31:44

HTML5

2012-06-04 13:44:08

2015-09-01 16:48:44

ios暴風視頻播放器

2023-03-29 09:32:15

視頻播放器應用鴻蒙

2023-03-28 09:44:02

開發(fā)應用鴻蒙
點贊
收藏

51CTO技術(shù)棧公眾號

精品国产乱码一区二区| 色婷婷综合久久| 精品国产三级电影在线观看| 欧美动漫一区二区| 国产黄色小视频网站| 色尼玛亚洲综合影院| 66久久国产| 色8久久精品久久久久久蜜| 亚洲综合色av| 亚洲区一区二区三| 丝袜美腿诱惑一区二区三区| 国产精品久久久一区麻豆最新章节| 欧美亚洲一区在线| 色婷婷狠狠18禁久久| 日本高清在线观看wwwww色| 伊人精品综合| 亚洲精品国产一区二区三区四区在线| 国产日韩欧美自拍| 妖精视频在线观看免费 | 最近2019年手机中文字幕| 免费国产黄色网址| 后入内射欧美99二区视频| 国产精品黑丝在线播放| 欧美日韩高清一区二区三区| 色播五月综合| 精品人妻一区二区三区潮喷在线 | 色多多在线观看| 成人午夜在线播放| 欧美巨大黑人极品精男| 亚洲国产欧美91| 宅男网站在线免费观看| 国产成人av一区二区三区在线| 美女av一区二区三区| 四虎成人在线播放| 爱情岛亚洲播放路线| 99久久99久久综合| 51精品在线观看| www.99re7| 中文字幕一区图| 在线综合视频播放| 成人在线视频一区二区三区| 亚洲第九十九页| 在线观看的日韩av| 精品香蕉在线观看视频一| 精品中文字幕av| eeuss影院www在线观看| 激情五月激情综合网| 久精品免费视频| 免费91在线观看| 精品视频国产| 91.成人天堂一区| 国产精品igao| 老司机精品影院| 丁香婷婷综合五月| 亚洲一区二区三区视频播放| 亚洲综合视频在线播放| 欧美精品成人| 亚洲人成毛片在线播放| 国内av一区二区| 九九精品调教| 国产亚洲女人久久久久毛片| 成人午夜小视频| 黄色一级视频免费| 国产精品亚洲片在线播放| 7777精品伊人久久久大香线蕉超级流畅| aⅴ在线免费观看| 免费人成在线观看播放视频 | 日韩欧美精品免费在线| 亚洲第一导航| 国产77777| 不卡在线观看av| 国产免费一区二区三区在线能观看| 麻豆影视在线播放| 国产一区二区三区自拍| 一区二区三区国产视频| 蜜桃视频无码区在线观看| 亚洲精品一区二区三区中文字幕| 欧美mv日韩mv国产网站app| 免费男同深夜夜行网站| 秋霞在线午夜| 国产精品久久久久婷婷| 亚洲精品美女久久7777777| 男人天堂久久久| 夜夜嗨av一区二区三区四季av| 欧美激情一区二区三区在线视频| 精品乱码一区二区三四区视频| 国产精品一区二区91| 国产精品久久久久一区二区| 99久在线精品99re8热| 亚洲成av人片乱码色午夜| 久久6精品影院| 亚洲久久在线观看| 久久精品二区亚洲w码| 国产97色在线|日韩| 日本一区二区不卡在线| 欧美精品综合| 日本国产精品视频| 欧美精品亚洲精品日韩精品| 日韩高清国产一区在线| 欧美一级视频一区二区| 一区二区视频免费观看| 日韩精品电影一区亚洲| 亚洲aaa激情| 日本中文字幕电影在线观看| 不卡在线观看av| 五月婷婷一区| 精品三级久久| 欧美一二三区精品| 香蕉视频xxxx| 精品国产一区二区三区久久久蜜臀| 久久99久久亚洲国产| 无码人妻一区二区三区免费| 国产成人午夜99999| 91久久中文字幕| 国产免费叼嘿网站免费| 蜜桃视频一区二区三区在线观看 | 一区二区三区视频在线播放| 韩国精品视频| 亚洲一区二区精品久久av| 一二三在线视频| 日韩激情av| 亚洲黄色免费电影| 人妻丰满熟妇av无码区app| 蜜桃av在线| 欧美一区二区三区日韩| 午夜av中文字幕| 国产精品一在线观看| 久久青草精品视频免费观看| 国产精品theporn动漫| 一区在线免费| 成人日韩av在线| 欧美黄色小说| 国产欧美日韩一区二区三区在线观看| 国产拍揄自揄精品视频麻豆 | 亚洲精品亚洲人成在线| 欧美tk—视频vk| 999福利视频| 欧美hd在线| 久久九九亚洲综合| 五月天丁香激情| 精品白丝av| 91亚洲永久免费精品| 91在线视频免费看| 自拍偷拍亚洲综合| 欧美大黑帍在线播放| 在线视频成人| 亚洲国产另类久久精品 | 一区二区精品视频在线观看| 老司机免费视频一区二区| 欧美激情第一页在线观看| 校园春色亚洲| 欧美日韩视频在线第一区| 日韩精品视频网址| 国产精品99一区二区三区| 国产精品丝袜高跟| 亚洲视频tv| 欧美日韩aaa| 疯狂撞击丝袜人妻| 国产一区欧美日韩| 国产一区二区在线观看免费播放| 黄网在线观看| 欧美在线不卡一区| 被黑人猛躁10次高潮视频| 香蕉精品久久| 久久亚洲综合国产精品99麻豆精品福利 | 自拍偷拍亚洲一区| 青青草原在线免费观看视频| 国内精品久久久久影院色| 久久精品国产精品亚洲精品色| 97天天综合网| 欧美人体做爰大胆视频| 福利视频第一页| 激情小说亚洲一区| 欧美狂野激情性xxxx在线观| 欧美美女啪啪| 欧美成人在线免费| 亚洲国产综合一区| 欧美日韩免费网站| av影片在线播放| 亚洲黄色av| 2022国产精品| 1024国产在线| 欧美一区二区三区视频在线 | 91美女视频在线| 91精品国产日韩91久久久久久| 精品少妇爆乳无码av无码专区| 日韩专区在线视频| 天堂v在线视频| 国产精品传媒| 久久国产精品免费视频| 亚洲精品视频网| 色狠狠色狠狠综合| 日韩女优一区二区| www欧美成人18+| 丁香六月激情婷婷| 日本精品视频| 中文字幕亚洲欧美一区二区三区| 国产精品久久久久久久久久久久久久久久 | jlzzjizz在线播放观看| 欧美91视频| 91深夜福利视频| 国产三级电影在线播放| 中文字幕一区二区精品| 日本黄色不卡视频| 亚洲成人1区2区| 国产免费a级片| 欧美激情 亚洲a∨综合| 欧美精品中文字幕一区二区| 自拍偷拍亚洲图片| 日韩免费av一区二区| 牛牛电影国产一区二区| 中文字幕亚洲一区| 牛牛影视精品影视| 欧美va在线播放| 国产又粗又黄又爽视频| 日韩欧美一区二区三区| 国产亚洲精品女人久久久久久| 国产精品视频一区二区三区不卡| youjizzxxxx18| 亚洲精品乱码| 成年人视频大全| 精品国产乱码| 裸模一区二区三区免费| 欧美片第一页| 久久久视频精品| 黄av在线播放| 久久精品国产成人| 91精品国产91久久久久游泳池 | 懂色av中文在线| 欧美在线观看一区二区| 国产精品黄色网| 亚洲自拍偷拍图区| 国产又黄又爽又无遮挡| 国产精品久久久久久久久搜平片| theporn国产精品| 免费高清在线视频一区·| 国产aaa一级片| 国产视频一区在线观看一区免费| 日韩精品伦理第一区| 欧美91在线|欧美| 欧美乱大交xxxxx| 欧美69xxx| 久久久精品免费视频| 日本视频在线观看| 在线精品高清中文字幕| 二区三区在线| 日韩一区二区三区国产| 黄色小视频免费在线观看| 欧美一级在线视频| 亚洲福利在线观看视频| 精品国产污污免费网站入口 | 中文字幕在线观看第三页| 久久久久久穴| 伊人久久大香线蕉精品| 成人福利一区| 国产精品自拍偷拍视频| 色综合天天色| 久久久久成人精品| 黄色大片在线免费观看| 怡红院精品视频| 在线看av的网址| www国产精品com| 国产人成网在线播放va免费| 两个人的视频www国产精品| 最新国产在线拍揄自揄视频| 欧美激情伊人电影| 亚洲欧美小说色综合小说一区| 日本人成精品视频在线| 懂色aⅴ精品一区二区三区| 久久久久久久久综合| 色黄视频在线观看| 国产精品久久久久久久久久免费| av电影院在线看| 欧美亚洲免费电影| 欧美黑粗硬大| http;//www.99re视频| www.国产精品| 91亚洲va在线va天堂va国| 一区二区亚洲视频| 久久久久久艹| 久久a爱视频| 成人女人免费毛片| 日本一区二区三区播放| 久久久久久九九九九| 日本不卡二三区| 欧美18视频| **女人18毛片一区二区| 大j8黑人w巨大888a片| 艳女tv在线观看国产一区| 亚洲福利av| 国产精品草草| 天天操天天爱天天爽| 国产传媒欧美日韩成人| 久久国产精品无码一级毛片| 不卡在线视频中文字幕| 99精品欧美一区二区| 久久九九国产精品| 水蜜桃av无码| 不卡一卡二卡三乱码免费网站| 成人激情五月天| 午夜伦欧美伦电影理论片| 国产精彩视频在线| 欧美系列亚洲系列| 天天爱天天干天天操| 亚洲国产成人久久| 少妇无码一区二区三区| zzjj国产精品一区二区| 一区二区三区短视频| 日本精品免费一区二区三区| 精品国模一区二区三区欧美| 亚洲va电影大全| 欧美极品在线观看| 日韩成人av网站| 欧美日韩国产欧| 狠狠躁狠狠躁视频专区| 免费观看30秒视频久久| 北岛玲一区二区| 一区二区三区免费| 一本久道久久综合无码中文| 亚洲欧美国产另类| 国产午夜在线视频| 孩xxxx性bbbb欧美| 日本一区二区乱| 伊人久久大香线蕉精品| 日本中文字幕一区二区视频| 一级黄色特级片| 国产精品亚洲午夜一区二区三区 | 亚洲女子a中天字幕| 最新一区二区三区| 一本一道波多野结衣一区二区| 日本高清视频www| 欧美激情中文网| 日韩在线观看一区二区三区| 国产精品美女在线播放| 蜜桃一区二区三区在线| 人妻精品久久久久中文| 日韩欧美在线网址| 色播色播色播色播色播在线| 韩剧1988在线观看免费完整版| 亚洲天堂av影院| 国产亚洲第一区| 一区视频在线| 麻豆精品国产传媒av| 亚洲成va人在线观看| 国产 日韩 欧美 精品| 欧美人成在线视频| 我要色综合中文字幕| 日韩精品福利片午夜免费观看| 激情五月婷婷综合| 1024手机在线视频| 日韩欧美成人一区| 可以在线观看的av| 日本韩国欧美精品大片卡二| 亚州av一区| 久久久久久久少妇| 国产欧美日产一区| 亚洲影院一区二区三区| 色婷婷综合成人av| 99视频有精品高清视频| 黄色一级片网址| 成人性视频网站| 日韩精品手机在线| 一本一本久久a久久精品牛牛影视| 秋霞国产精品| 自拍亚洲欧美老师丝袜| 国产精品资源在线观看| 久久9999久久免费精品国产| 亚洲国产欧美久久| 3d欧美精品动漫xxxx无尽| 999在线观看免费大全电视剧| 牛夜精品久久久久久久99黑人| 久久久久亚洲av片无码v| 亚洲一区二区在线免费看| 香港三日本三级少妇66| 欧美大片在线影院| 四虎国产精品永久在线国在线 | 天天操天天干天天爱| 欧美在线视频网站| 热久久天天拍国产| 免费观看黄网站| 色综合久久中文综合久久97| av在线播放网| 高清av免费一区中文字幕| 亚洲伊人网站| 又色又爽又黄18网站| 黄网站色欧美视频| 99热精品在线播放| 在线视频国产日韩| 蜜桃精品视频| 成人综合视频在线| 亚洲欧洲日产国产综合网| 日本黄色免费视频| 国产精品日韩在线播放| 亚洲午夜激情在线| 亚洲精品国产91| 欧美性猛交xxxx富婆| 在线免费观看黄| 加勒比在线一区二区三区观看| 在线播放不卡| 成人小视频免费看|