• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Qt的高性能網(wǎng)絡(luò)音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)

    2017-04-14 05:13:06劉永紅趙衛(wèi)東
    關(guān)鍵詞:播放器繪圖鼠標(biāo)

    鄢 濤, 劉永紅, 趙衛(wèi)東, 余 悅, 曾 誼, 于 曦

    (1.成都大學(xué) 模式識(shí)別與智能信息處理四川省高校重點(diǎn)實(shí)驗(yàn)室, 四川 成都 610106; 2.成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106)

    基于Qt的高性能網(wǎng)絡(luò)音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)

    鄢 濤1,2, 劉永紅1,2, 趙衛(wèi)東1,2, 余 悅2, 曾 誼2, 于 曦1,2

    (1.成都大學(xué) 模式識(shí)別與智能信息處理四川省高校重點(diǎn)實(shí)驗(yàn)室, 四川 成都 610106; 2.成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106)

    目前基于網(wǎng)絡(luò)的音樂(lè)播放器功能普遍存在2個(gè)主要問(wèn)題:廣告太多;在后臺(tái)運(yùn)行不必要的進(jìn)程而導(dǎo)致性能較低.針對(duì)這些情況,設(shè)計(jì)并實(shí)現(xiàn)了一款基于Qt的高性能網(wǎng)絡(luò)音樂(lè)播放器.該播放器利用開放的音樂(lè)搜索應(yīng)用程序編程接口,實(shí)現(xiàn)了在線搜索、在線播放、下載音樂(lè)及桌面歌詞等功能.此外,用戶界面設(shè)計(jì)中采用雙緩沖繪圖技術(shù),并且程序經(jīng)過(guò)大量代碼層面的優(yōu)化,使得該播放器純凈并擁有非常良好的性能表現(xiàn).

    Qt;在線音樂(lè);播放器;高性能;雙緩沖

    0 引 言

    互聯(lián)網(wǎng)上有非常豐富的音樂(lè)資源,也有不少基于這些資源的音樂(lè)播放器.這些音樂(lè)播放器普遍功能都較強(qiáng)大,但出于商業(yè)因素,通常會(huì)嵌入很多廣告、新聞,甚至?xí)?jīng)常出現(xiàn)彈窗給用戶帶來(lái)影響.同時(shí),由于軟件功能的多樣化和復(fù)雜性,這些音樂(lè)播放器很難做到性能優(yōu)異[1-2].Qt是一個(gè)基于C++的跨平臺(tái)圖形用戶界面(Graphical User Interface,GUI)應(yīng)用程序開發(fā)框架,它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)GUI所需的所有功能,允許組件編程,且易擴(kuò)展.此外,Qt提供了較豐富的套接字、傳輸控制協(xié)議、文件傳輸協(xié)議等與平臺(tái)無(wú)關(guān)的類,能夠方便地進(jìn)行網(wǎng)絡(luò)功能開發(fā)[3-7].本研究討論了利用Qt的GUI框架和網(wǎng)絡(luò)功能,以及雙緩沖技術(shù),實(shí)現(xiàn)了一款純凈、高性能的音樂(lè)播放器,其既具有網(wǎng)絡(luò)音樂(lè)播放器的常用功能,也可以實(shí)現(xiàn)播放本地音樂(lè).

    1 核心功能設(shè)計(jì)

    1.1 網(wǎng)絡(luò)功能應(yīng)用程序編程接口(Application Programming Interface,API)的封裝

    要實(shí)現(xiàn)在線試聽,需要有相關(guān)的音樂(lè)搜索API.目前,許多播放器公司都提供開放的音樂(lè)搜索API,如酷狗音樂(lè)的API為:http://mobilecdn.kugou.com/api/v3/search/song?format=jsonp&keyword={0}&page={1}&pagesize={2}″&showtype=1&callback=kgJSONP238513750.其中,{0}表示需要搜索的歌曲或歌手,{1}表示查詢的頁(yè)碼數(shù),{2}表示當(dāng)前頁(yè)的返回?cái)?shù)量.

    以上API的請(qǐng)求方式為GET,返回?cái)?shù)據(jù)為一個(gè)JSON對(duì)象,通過(guò)對(duì)JSON進(jìn)行解析,就可以得到想要的數(shù)據(jù).Qt已經(jīng)提供了JSON解析的相關(guān)類,只需要根據(jù)酷狗音樂(lè)的JSON數(shù)據(jù)規(guī)則編寫相關(guān)解析代碼即可,

    QVector analysis(QNetworkReply *reply)

    {

    QByteArray json=reply->readAll();/*API返回的是

    JSON數(shù)據(jù)*/

    QJsonParseError error;

    QJsonDocument doucoument=QJsonDocument::fromJson(json,

    &error);

    QJsonObject obj=doucoument.object();

    QJsonArray jsArray=obj.take(″data″).toObject().take

    (″info″).toArray();/*有效數(shù)據(jù)*/

    int size=jsArray.size();

    QVector t(size);

    for (int i=0;i

    {

    t[i].hashCode=jsArray[i].toObject().take(″hash″).

    toString();/*音樂(lè)哈希碼,通過(guò)它來(lái)實(shí)現(xiàn)播放*/

    t[i].musicName=jsArray[i].toObject().take

    (″songname″).toString();/*音樂(lè)名*/

    t[i].singer=jsArray[i].toObject().take

    (″singername″).toString();/*歌手名*/

    t[i].duration=jsArray[i].toObject().take

    (″duration″).toInt();/*音樂(lè)時(shí)長(zhǎng)*/

    }

    return t;

    }

    1.2 定時(shí)器與界面更新

    音樂(lè)播放的過(guò)程中,需要隨時(shí)對(duì)主界面進(jìn)行更新,更新的內(nèi)容包括進(jìn)度條及歌詞等.這時(shí),就需要使用操作系統(tǒng)提供的“定時(shí)器”功能,每隔一段時(shí)間對(duì)界面進(jìn)行一次更新.Qt已經(jīng)把“定時(shí)器”封裝成一個(gè)叫做QTimer的類,這個(gè)類的使用也是非常簡(jiǎn)單的,只需要編寫好處理函數(shù)即可.處理函數(shù)如下,

    void update()

    {

    auto intToString=[this](size-t)->QString/*匿名函數(shù),

    用于把時(shí)間轉(zhuǎn)換成一定格式的字符串*/

    {

    size-t min,sec;

    QString minStr,secStr;

    min=t/60;

    t-=min*60;

    sec=t;

    minStr+=QString::number(min);

    if (min<10)

    {

    minStr.push-front(′0′);

    }

    secStr+=QString::number(sec);

    if (sec<10)

    {

    secStr.push-front(′0′);

    }

    return minStr+′:′+secStr;

    };

    playProgress=player->position();/*同步已播放的長(zhǎng)度*/

    lyricsBar->updateLyrics(playProgress);/*重繪桌面歌詞*/

    if (playProgress-lastUpdateTime>1000)/*進(jìn)度條不必隨

    時(shí)更新,1 000 ms更新一次即可*/

    {

    lastUpdateTime=playProgress;

    progress->setText(intToString(playProgress/1000)+

    ′/′+intToString(maxDuration/1000));

    songSlider->setValue(playProgress/1000);

    }

    }

    2 界面設(shè)計(jì)

    2.1 無(wú)邊框窗口拖動(dòng)

    每個(gè)GUI程序都可以通過(guò)標(biāo)題欄來(lái)實(shí)現(xiàn)窗口拖動(dòng).為了音樂(lè)播放器的美觀,通常會(huì)省略標(biāo)題欄.如果想要任意拖動(dòng)窗口,就需要編寫相關(guān)事件代碼來(lái)實(shí)現(xiàn).

    Windows系統(tǒng)中,存在各種“消息”,如鼠標(biāo)消息、按鍵消息等.Qt已經(jīng)把想要的“消息”封裝成3個(gè)函數(shù):mousePressEvent、mouseMoveEvent、mouseReleaseEvent.通過(guò)重寫這些函數(shù),即可實(shí)現(xiàn)對(duì)鼠標(biāo)行為的定制,

    void mouseReleaseEvent(QMouseEvent*event)

    {

    isPress=false;

    }

    void mousePressEvent(QMouseEvent*event)

    {

    lastPos=event->globalPos();/*記錄鼠標(biāo)的當(dāng)前位置*/

    isPress=true;/*標(biāo)記鼠標(biāo)是否在主面板上按下*/

    }

    void mouseMoveEvent(QMouseEvent*event)

    {

    if (isPress)/*鼠標(biāo)按下的時(shí)候才移動(dòng),防止從子控件移

    動(dòng)到主面板上時(shí)產(chǎn)生的“瞬移”*/

    {

    int dx=event->globalX()-lastPos.x();

    int dy=event->globalY()-lastPos.y();

    lastPos=event->globalPos();

    move(x()+dx,y()+dy);/*通過(guò)鼠標(biāo)上次出現(xiàn)的位

    置與當(dāng)前位置的差,求出窗口的移動(dòng)方向和長(zhǎng)度*/

    }

    }其中,isPress是播放器的一個(gè)內(nèi)部變量,它的存在十分關(guān)鍵.Qt提供了很多種無(wú)邊框窗口移動(dòng)的代碼,但其幾乎都沒(méi)有isPress的存在.這種情況下,如果在播放器主面板的一個(gè)子控件上按下鼠標(biāo),然后把鼠標(biāo)移動(dòng)到主面板上,播放器窗口就會(huì)出現(xiàn)“瞬移”現(xiàn)象,因此必須引入isPress才能解決問(wèn)題.

    2.2 用QSS美化界面

    QSS(Qt Style Sheets)是一種類似于WEB設(shè)計(jì)中層疊樣式表(Cascading Style Sheets,CSS)技術(shù)的設(shè)計(jì)語(yǔ)言,它的目標(biāo)和CSS相同,即實(shí)現(xiàn)表現(xiàn)與內(nèi)容分離.通過(guò)QSS,可以很方便地實(shí)現(xiàn)界面的美化,而不需要編寫大量用于控件自繪的代碼.比如,設(shè)置按鈕的背景圖片,

    QPushButton#closeBt

    {

    border-image:url(″data/icon/closeNormal.png″);

    height:18px;

    width:23px;

    border:0px;

    }

    QPushButton#closeBt:hover

    {

    border-image:url(″data/icon/closeHover.png″);

    height:18px;

    width:23px;

    border:0px;

    }

    QPushButton#closeBt:pressed

    {

    border-image:url(″data/icon/closePress.png″);

    height:18px;

    width:23px;

    border:0px;

    }

    同時(shí),QSS還能對(duì)按鈕closeBt的普通、懸停、按下3個(gè)狀態(tài)分別設(shè)置不同背景圖片(見圖1).

    圖1 QSS美化之后的播放器界面

    2.3 皮膚更換

    QSS能完成絕大多數(shù)界面美化工作,但不包括播放器主面板這個(gè)頂級(jí)窗口的美化.一方面,讓用戶通過(guò)修改QSS的方式來(lái)更換皮膚是非常不人性化的;另一方面,QSS也難以應(yīng)對(duì)用戶選擇圖片當(dāng)皮膚的需求.所以,要實(shí)現(xiàn)皮膚更換,只有重寫paintEvent實(shí)現(xiàn)窗口自繪.主要功能代碼如下,

    void paintEvent(QPaintEvent*e)

    {

    QPainter painter(this);

    painter.drawPixmap(rect(),skin);/*按照窗口的大小繪制

    圖片*/

    QWidget::paintEvent(e);/*調(diào)用父類的繪圖函數(shù),保證其

    他部分能正確繪制*/

    }

    其中,skin是一個(gè)QPixmap類的對(duì)象,里面容納著當(dāng)前的皮膚.更換皮膚時(shí),只需要修改skin,然后重繪界面即可.

    3 歌詞的處理

    3.1 用正則表達(dá)式解析歌詞

    歌詞的處理看似簡(jiǎn)單,實(shí)際上比較復(fù)雜.目前,一種主流的歌詞文件格式是.Lrc,要解析的正是這種格式的歌詞文件.Lrc文件的每一行格式如下,

    [mm:ss.xx]歌詞內(nèi)容

    其中,mm表示分鐘數(shù),ss表示秒數(shù),xx表示百分之一秒數(shù).這個(gè)數(shù)據(jù)指明某一句歌詞出現(xiàn)的具體時(shí)間,而中括號(hào)后面的內(nèi)容則是歌詞的正式內(nèi)容.

    Lrc文件的規(guī)律性如此之強(qiáng),以至于可以直接使用正則表達(dá)式來(lái)對(duì)其進(jìn)行解析.很多廠商都提供了正則表達(dá)式解析引擎,C++ 11標(biāo)準(zhǔn)也讓正則表達(dá)式解析進(jìn)入了C++的標(biāo)準(zhǔn).不過(guò)由于播放器基于Qt開發(fā),所以最終采用Qt提供的解析器.正則表達(dá)式的解析代碼如下,

    QRegExp regexp;

    regexp.setPattern(″\d{2}(?=:)″);/*設(shè)置匹配模式,匹配 一個(gè)長(zhǎng)度為2的數(shù)字及:*/

    regexp.indexIn(lyrics);

    int minute=regexp.cap(0).toInt();/*將匹配到的第一個(gè)作為 分鐘數(shù)*/

    regexp.setPattern(″\d{2}(?=\.)″);/*匹配一個(gè)長(zhǎng)度為 2的數(shù)字及.*/

    regexp.indexIn(lyrics);

    int second=regexp.cap(0).toInt();/*將匹配到的第一個(gè)作為 秒數(shù)*/

    regexp.setPattern(″\d{2}(?=\])″);/*匹配一個(gè)長(zhǎng)度為 2的數(shù)字及]*/

    regexp.indexIn(lyrics);

    int millisecond = regexp.cap(0).toInt();/*將匹配到的第一個(gè) 作為百分之一秒數(shù)*/

    int duration=minute*60000+second*1000+millisecond*10; /*簡(jiǎn)單的時(shí)間轉(zhuǎn)換*/

    regexp.setPattern(″\[\d{2}:\d{2}\.\d{2}\]″);

    QString lrcString=lyrics.replace(regexp,″″);/*將所有的時(shí)間戳

    替換成空字符串,結(jié)果即為歌詞*/

    以上代碼只說(shuō)明了解析的過(guò)程,實(shí)際代碼要更復(fù)雜一些.

    3.2 滾動(dòng)歌詞的實(shí)現(xiàn)

    大多數(shù)播放器顯示歌詞時(shí),都會(huì)給歌詞添加一點(diǎn)“動(dòng)態(tài)”效果,看起來(lái)就像在“滾動(dòng)”一樣.實(shí)際上,所謂的“滾動(dòng)”效果,實(shí)現(xiàn)起來(lái)并不復(fù)雜.繪制歌詞時(shí),繪制兩層文字:第一層完全繪制,第二層則根據(jù)進(jìn)度來(lái)繪制其中某些部分.由于界面更新速度非常快,所以看起來(lái)就好像是歌詞在滾動(dòng)一般.相關(guān)實(shí)現(xiàn)為,

    void paint()

    {

    QPainter painter(this);

    painter.setFont(font);

    painter.setPen(QColor(0,0,0));

    painter.drawText(1,1,800,58,Qt::AlignVCenter|Qt::

    AlignLeft,first);/*繪制一層黑色文字作為

    基底,讓歌詞顯得更有質(zhì)感*/

    painter.setPen(QPen(normalGradient1,0));/*繪制第一層

    漸變文字,漸變可以被用戶所設(shè)置*/

    painter.drawText(0,0,800,58,Qt::AlignVCenter|Qt::

    AlignLeft,first);/*對(duì)齊方式為左對(duì)齊*/

    painter.setPen(QPen(maskGradient1,0));/*繪制遮罩層*/

    painter.drawText(0,0,progress*maxPix,58,Qt::

    AlignVCenter|Qt::AlignLeft,first);/*progress是當(dāng)前進(jìn)度,

    通過(guò)這個(gè)參數(shù)可以控制遮罩部分的寬度*/

    }

    3.3 雙緩沖繪圖技術(shù)

    播放器需要繪制的歌詞非常多,除了桌面歌詞,還有嵌在主面板的窗口歌詞,而這些歌詞需要經(jīng)常更新(設(shè)定50 ms更新一次).在Debug模式下,音樂(lè)播放器平均CPU占用為5%(CPU主頻為2.6 GHz).如果換用Release模式,理論上能把CPU占用減少到3%,但播放器的性能依然太差.

    通過(guò)對(duì)代碼分析發(fā)現(xiàn),形如painter.drawText這樣的代碼非常多,性能瓶頸也正是來(lái)自這樣的代碼.從內(nèi)存(顯存)向屏幕繪制圖像,速度非常慢.如果每50 ms都要進(jìn)行大量繪制工作,CPU的開銷就相當(dāng)大.這時(shí),可采用雙緩沖繪圖技術(shù),即先一次性把所有文字繪制到內(nèi)存(顯存)中,然后再一次性把內(nèi)存中的數(shù)據(jù)繪制到屏幕上.由于往內(nèi)存繪制文字的速度遠(yuǎn)遠(yuǎn)高于往屏幕繪制的速度,所以即使雙緩沖繪圖看起來(lái)多了一些額外工作,而實(shí)際上卻擁有更好的性能表現(xiàn).雙緩沖的原理如下,

    void paint()

    {

    QPixmap pix(width,height);

    pix.fill(Qt::transparent);/*新建畫布,并用透明色填充*/

    QPainter painter(&pix);/*現(xiàn)在painter將在畫布上繪圖*/

    painter.setFont(font);

    painter.setPen(QColor(255,255,255));

    painter.drawText(firstRect, Qt::AlignCenter, firstText);

    …/*大量的文字繪制*/

    painter.setPen(QColor(255,255,255));

    painter.drawText(seventhRect,Qt::AlignCenter,seventhText);

    painter.drawPixmap(rect(),pix);/*將畫布中的內(nèi)容一次

    性繪制到屏幕上*/

    }

    實(shí)際上,以上代碼也只展示了雙緩沖繪圖的基本操作方式,實(shí)際代碼根據(jù)需要做了優(yōu)化,比如,不必每次都繪制底層文字,也不必每次都重新填充畫布,完全可以在繪制完所有底層文字之后,將畫布保存起來(lái),以后每次更新時(shí),只需往畫布上繪制遮罩層即可,直到歌詞內(nèi)容需要改變?yōu)橹?見圖2).

    圖2 最終效果

    采用雙緩沖繪圖技術(shù)優(yōu)化之后,播放器在Debug下的平均CPU占用減少到2.5%,在Release模式下更是減少到了1%.這樣的性能表現(xiàn)非常優(yōu)秀,因?yàn)橹髁鞑シ牌鞯钠骄鵆PU占用都在2%到3%之間.

    4 結(jié) 論

    本研究設(shè)計(jì)并實(shí)現(xiàn)了一款基于Qt技術(shù)的網(wǎng)絡(luò)音樂(lè)播放器.該播放器純凈無(wú)廣告、功能完善且性能高.此外,開發(fā)過(guò)程中所用到的無(wú)邊框窗口拖動(dòng)技術(shù),也可廣泛應(yīng)用于桌面開發(fā)中.需要指出的是,本研究提出的解決方案雖然不復(fù)雜,但卻比大多數(shù)方案更有效,其中,歌詞解析時(shí)靈活使用了正則表達(dá)式,而雙緩沖繪圖技術(shù)的應(yīng)用,更是大大提高了繪圖效率.這些技術(shù)的總結(jié),對(duì)與Qt相關(guān)的多媒體開發(fā)具有重要參考價(jià)值.

    [1]Blanchette J,Summerfield M.C++ GUI Qt 4編程[M].閆鋒欣,曾泉人,張志強(qiáng),譯.北京:電子工業(yè)出版社,2013.

    [2]焦正才,樊文俠.基于Qt/Embedded的MP3音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(7):148-150.

    [3]Gregoire M,Solter N A,Klerper S J.C++高級(jí)編程[M].侯普秀,鄭思遙,譯.北京:清華大學(xué)出版社,2014.

    [4]Wong Michael,IBM XL編譯器中國(guó)開發(fā)團(tuán)隊(duì).深入理解C++ 11[M].北京:機(jī)械工業(yè)出版社,2016.

    [5]蔡志明.精通Qt 4編程[M].北京:電子工業(yè)出版社,2011.

    [6]Summerfield M.Qt高級(jí)編程[M].白建平,王軍鋒,閆鋒欣,譯.北京:電子工業(yè)出版社,2011.

    [7]劉曉立,趙俊逸.基于Qt的音樂(lè)播放器[J].軟件導(dǎo)刊,2015,14(10):112-114.

    Design and Implementation of High Performance Online Music Player Based on Qt

    YANTao1,2,LIUYonghong1,2,ZHAOWeidong1,2,YUYue2,ZENGYi2,YUXi1,2

    (1.Key Laboratory of Pattern Recognition and Intelligent Information Processing of Sichuan Province, Chengdu University, Chengdu 610106, China; 2.School of Information Science and Engineering, Chengdu University, Chengdu 610106, China)

    Most music players based on Internet have their own powerful functions presently.However,there are two main problems in these music players:one is that there are too many advertisements and the other is that their performance is low due to some processes running background.In order to solve these problems,this paper designs and implements a high performance music player based on Qt software.By fully utilizing the open music search API,the player implements some functions such as online search,online playing,downloading music,desktop lyrics,etc.Furthermore,by using double-buffering technology UI design,and through the optimization of the coding,the player proposed now by this paper is pure and of high performance.

    Qt;online music;player;high performance;double-buffering

    1004-5422(2017)01-0055-05

    2016-11-03.

    四川省科技廳軟科學(xué)研究計(jì)劃(2017ZR0198)資助項(xiàng)目.

    鄢 濤(1973 — ), 男, 碩士, 副教授, 從事計(jì)算機(jī)軟件工程研究.

    TN912.23+1;TP311.52

    A

    猜你喜歡
    播放器繪圖鼠標(biāo)
    來(lái)自河流的你
    “禾下乘涼圖”繪圖人
    Progress in Neural NLP: Modeling, Learning, and Reasoning
    Engineering(2020年3期)2020-09-14 03:42:00
    Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
    基于STM32的MP3播放器設(shè)計(jì)
    電子制作(2019年9期)2019-05-30 09:41:44
    Moon ACE播放器/放大器一體機(jī)
    基于HTML5 Canvas繪圖技術(shù)應(yīng)用
    播放器背板注塑模具設(shè)計(jì)
    Surfer和ArcView結(jié)合在氣象繪圖中的應(yīng)用
    河北遙感(2015年2期)2015-07-18 11:11:14
    45歲的鼠標(biāo)
    亚洲国产精品sss在线观看| 最近最新中文字幕免费大全7| 91久久精品国产一区二区三区| 好男人视频免费观看在线| 国产精品国产三级国产专区5o | 亚洲激情五月婷婷啪啪| 床上黄色一级片| 最近手机中文字幕大全| 国产av一区在线观看免费| 久久鲁丝午夜福利片| 国产av在哪里看| 成年女人永久免费观看视频| 国产老妇伦熟女老妇高清| 中文在线观看免费www的网站| 亚洲性久久影院| 国产三级中文精品| 91久久精品国产一区二区三区| av女优亚洲男人天堂| 国产色爽女视频免费观看| 久久久久久久久久久免费av| 免费播放大片免费观看视频在线观看 | 欧美一区二区亚洲| 免费看av在线观看网站| 黄色配什么色好看| 精华霜和精华液先用哪个| 欧美性感艳星| 嘟嘟电影网在线观看| 色5月婷婷丁香| 亚洲精品亚洲一区二区| 亚洲精品国产成人久久av| 亚洲欧美中文字幕日韩二区| 少妇的逼水好多| 成人毛片a级毛片在线播放| www.色视频.com| 亚洲欧美日韩卡通动漫| 一卡2卡三卡四卡精品乱码亚洲| 欧美日韩国产亚洲二区| 少妇被粗大猛烈的视频| 国产黄片视频在线免费观看| 亚洲精品乱码久久久v下载方式| 人妻制服诱惑在线中文字幕| 男女下面进入的视频免费午夜| 校园人妻丝袜中文字幕| 欧美成人午夜免费资源| 九九在线视频观看精品| 亚洲国产欧洲综合997久久,| 51国产日韩欧美| 可以在线观看毛片的网站| 大话2 男鬼变身卡| 色综合站精品国产| 国产精品一二三区在线看| 久久久欧美国产精品| 久久久亚洲精品成人影院| 一边亲一边摸免费视频| 国产中年淑女户外野战色| 欧美潮喷喷水| 人人妻人人澡欧美一区二区| 99国产精品一区二区蜜桃av| videos熟女内射| 精品不卡国产一区二区三区| 天堂√8在线中文| 久久久色成人| 免费观看精品视频网站| 男的添女的下面高潮视频| 一边亲一边摸免费视频| 成年免费大片在线观看| 欧美不卡视频在线免费观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲怡红院男人天堂| 日日摸夜夜添夜夜爱| 欧美极品一区二区三区四区| 精品不卡国产一区二区三区| 一边亲一边摸免费视频| 久久人人爽人人片av| 国产又色又爽无遮挡免| 黄片无遮挡物在线观看| 天天躁日日操中文字幕| 国产乱人偷精品视频| 小说图片视频综合网站| 国产成人精品婷婷| 秋霞在线观看毛片| 国产成人一区二区在线| 亚洲美女视频黄频| 午夜精品在线福利| 国产成人午夜福利电影在线观看| 日本色播在线视频| 97热精品久久久久久| 国产大屁股一区二区在线视频| 国产av码专区亚洲av| 丰满人妻一区二区三区视频av| 一本久久精品| 成人午夜精彩视频在线观看| 久久国产乱子免费精品| 久久6这里有精品| 99热这里只有精品一区| 精品国产露脸久久av麻豆 | 久久人人爽人人爽人人片va| 国产中年淑女户外野战色| 国产午夜精品论理片| 成人三级黄色视频| 男人的好看免费观看在线视频| 国产精品麻豆人妻色哟哟久久 | 亚洲国产精品成人久久小说| 小蜜桃在线观看免费完整版高清| 91av网一区二区| 亚洲av熟女| 直男gayav资源| 精品国产一区二区三区久久久樱花 | 精品免费久久久久久久清纯| 在线播放国产精品三级| 国内少妇人妻偷人精品xxx网站| 日本猛色少妇xxxxx猛交久久| 欧美xxxx性猛交bbbb| 免费av观看视频| 国产午夜精品久久久久久一区二区三区| 国产精品女同一区二区软件| 国产v大片淫在线免费观看| 色综合色国产| 精品久久久久久久久av| 国产精品久久久久久久久免| 欧美三级亚洲精品| av在线天堂中文字幕| 91精品国产九色| av天堂中文字幕网| 久久精品综合一区二区三区| 中文字幕亚洲精品专区| 精品国产一区二区三区久久久樱花 | 能在线免费看毛片的网站| 精品久久久噜噜| 日韩人妻高清精品专区| 丝袜美腿在线中文| 中文字幕久久专区| 深夜a级毛片| 91久久精品国产一区二区成人| 国产乱人偷精品视频| 国内精品美女久久久久久| 丰满乱子伦码专区| 九九爱精品视频在线观看| 免费观看在线日韩| 免费大片18禁| 午夜久久久久精精品| 国产精品一区二区性色av| 国产成人91sexporn| 一夜夜www| 亚洲精品456在线播放app| 成人综合一区亚洲| 国产极品天堂在线| 亚洲综合精品二区| 欧美人与善性xxx| 国产精品av视频在线免费观看| 亚洲va在线va天堂va国产| 成人一区二区视频在线观看| 久久精品国产自在天天线| 亚洲综合精品二区| 麻豆一二三区av精品| 深夜a级毛片| 国产精品久久视频播放| kizo精华| 黑人高潮一二区| 狂野欧美白嫩少妇大欣赏| 伊人久久精品亚洲午夜| 高清av免费在线| 成人鲁丝片一二三区免费| av福利片在线观看| 国产精品精品国产色婷婷| 一卡2卡三卡四卡精品乱码亚洲| 亚洲国产高清在线一区二区三| 日本wwww免费看| 国产黄色小视频在线观看| 99热全是精品| 中国美白少妇内射xxxbb| 亚洲精品久久久久久婷婷小说 | 如何舔出高潮| 国产精品乱码一区二三区的特点| 日本与韩国留学比较| 国产av不卡久久| 99国产精品一区二区蜜桃av| 秋霞在线观看毛片| 国产免费又黄又爽又色| 国产白丝娇喘喷水9色精品| 村上凉子中文字幕在线| 亚洲av成人av| 午夜免费激情av| 欧美极品一区二区三区四区| 国产免费男女视频| 精品人妻偷拍中文字幕| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 精品久久久噜噜| 夜夜看夜夜爽夜夜摸| 色综合站精品国产| 观看免费一级毛片| 亚洲精品,欧美精品| 一区二区三区免费毛片| 亚洲,欧美,日韩| 日日撸夜夜添| 亚洲欧美精品综合久久99| av.在线天堂| 国产视频首页在线观看| 男女那种视频在线观看| 日本与韩国留学比较| 国语对白做爰xxxⅹ性视频网站| 午夜免费男女啪啪视频观看| 亚洲精品色激情综合| 色视频www国产| 99视频精品全部免费 在线| 久久精品综合一区二区三区| 老女人水多毛片| 2022亚洲国产成人精品| 一本一本综合久久| 成人高潮视频无遮挡免费网站| 97人妻精品一区二区三区麻豆| 免费不卡的大黄色大毛片视频在线观看 | 午夜福利在线观看吧| 中文字幕精品亚洲无线码一区| 美女被艹到高潮喷水动态| 国产av在哪里看| 成人漫画全彩无遮挡| 亚洲欧美一区二区三区国产| 人人妻人人看人人澡| 日韩精品青青久久久久久| 亚洲熟妇中文字幕五十中出| 日韩欧美精品免费久久| 乱码一卡2卡4卡精品| 久久精品91蜜桃| 亚洲av免费在线观看| or卡值多少钱| 三级男女做爰猛烈吃奶摸视频| 身体一侧抽搐| 九色成人免费人妻av| 国产精品一区www在线观看| 国产淫语在线视频| 日日摸夜夜添夜夜爱| 欧美丝袜亚洲另类| 高清毛片免费看| 免费av不卡在线播放| 黑人高潮一二区| 麻豆av噜噜一区二区三区| www.av在线官网国产| 亚洲精品影视一区二区三区av| 亚洲va在线va天堂va国产| 国产一区有黄有色的免费视频 | 中文字幕久久专区| 少妇人妻一区二区三区视频| 美女内射精品一级片tv| 老师上课跳d突然被开到最大视频| 成人毛片a级毛片在线播放| 国产成年人精品一区二区| 99热6这里只有精品| 女人久久www免费人成看片 | 秋霞伦理黄片| 神马国产精品三级电影在线观看| 在线观看美女被高潮喷水网站| 中文字幕亚洲精品专区| 九九在线视频观看精品| 亚洲真实伦在线观看| 丰满乱子伦码专区| 久久久久久国产a免费观看| 精品熟女少妇av免费看| 亚洲精品乱久久久久久| 亚洲欧美中文字幕日韩二区| 精品久久久噜噜| 欧美精品一区二区大全| 最近视频中文字幕2019在线8| 欧美另类亚洲清纯唯美| 国产一级毛片七仙女欲春2| 狂野欧美激情性xxxx在线观看| 亚洲人与动物交配视频| 日韩一区二区视频免费看| 中文欧美无线码| 美女cb高潮喷水在线观看| 成人午夜精彩视频在线观看| 精品久久久久久久久亚洲| 一边摸一边抽搐一进一小说| 夜夜爽夜夜爽视频| 亚洲av日韩在线播放| 国产精品三级大全| 1024手机看黄色片| 国产伦精品一区二区三区四那| av在线观看视频网站免费| 成人午夜高清在线视频| 能在线免费观看的黄片| 日本三级黄在线观看| 观看免费一级毛片| a级一级毛片免费在线观看| 日韩欧美 国产精品| 我要看日韩黄色一级片| 欧美成人午夜免费资源| 久久久久性生活片| 国产精品电影一区二区三区| 国产 一区精品| 国产精品久久视频播放| 乱码一卡2卡4卡精品| 亚洲av中文av极速乱| 成人漫画全彩无遮挡| 九九爱精品视频在线观看| 日本-黄色视频高清免费观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 精品人妻熟女av久视频| 特级一级黄色大片| 久久久久久伊人网av| 国产精品美女特级片免费视频播放器| 久久精品国产亚洲av涩爱| 色综合亚洲欧美另类图片| 国产人妻一区二区三区在| 亚洲国产日韩欧美精品在线观看| 99久久精品热视频| 最近2019中文字幕mv第一页| 伊人久久精品亚洲午夜| 国产精品久久久久久精品电影| 日韩 亚洲 欧美在线| kizo精华| 国产真实伦视频高清在线观看| 69av精品久久久久久| 日韩视频在线欧美| 亚洲真实伦在线观看| 91在线精品国自产拍蜜月| 国产 一区 欧美 日韩| 国产三级中文精品| 亚洲国产精品成人综合色| 直男gayav资源| 在线观看av片永久免费下载| 成人漫画全彩无遮挡| 欧美激情在线99| 国产黄a三级三级三级人| 精品一区二区三区视频在线| 欧美变态另类bdsm刘玥| 男女啪啪激烈高潮av片| 午夜老司机福利剧场| 中文资源天堂在线| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 高清毛片免费看| 亚洲精品亚洲一区二区| 亚洲综合精品二区| 麻豆成人av视频| 精品人妻视频免费看| 天美传媒精品一区二区| 观看免费一级毛片| 麻豆久久精品国产亚洲av| 99久久无色码亚洲精品果冻| 久久精品国产鲁丝片午夜精品| 免费av不卡在线播放| 免费av毛片视频| 老司机影院成人| 国产成人精品一,二区| 亚洲欧美精品专区久久| 国产亚洲午夜精品一区二区久久 | 村上凉子中文字幕在线| 欧美性猛交╳xxx乱大交人| 一卡2卡三卡四卡精品乱码亚洲| 成人毛片60女人毛片免费| 美女内射精品一级片tv| 国产一级毛片七仙女欲春2| 91久久精品国产一区二区三区| 一卡2卡三卡四卡精品乱码亚洲| 黄色日韩在线| 国产亚洲午夜精品一区二区久久 | 在线观看美女被高潮喷水网站| 国产色婷婷99| 久久久久久伊人网av| 极品教师在线视频| 欧美又色又爽又黄视频| 一二三四中文在线观看免费高清| 国产日韩欧美在线精品| 欧美日本亚洲视频在线播放| or卡值多少钱| 超碰av人人做人人爽久久| 九九爱精品视频在线观看| 日本免费一区二区三区高清不卡| 日本爱情动作片www.在线观看| 青春草国产在线视频| 国内精品宾馆在线| 男女那种视频在线观看| 日本五十路高清| 深爱激情五月婷婷| 99热这里只有精品一区| 欧美日韩在线观看h| 久久精品夜色国产| 亚洲中文字幕一区二区三区有码在线看| 一二三四中文在线观看免费高清| 日日摸夜夜添夜夜添av毛片| 国产一区二区在线av高清观看| 乱码一卡2卡4卡精品| 在线观看一区二区三区| 在线免费观看不下载黄p国产| 在线a可以看的网站| 免费观看人在逋| 欧美变态另类bdsm刘玥| 最新中文字幕久久久久| 欧美3d第一页| 午夜福利高清视频| 亚洲欧美清纯卡通| 九草在线视频观看| 乱人视频在线观看| 18+在线观看网站| 九色成人免费人妻av| 亚洲图色成人| 国产av在哪里看| 亚洲av免费高清在线观看| 看黄色毛片网站| 久久这里只有精品中国| 国产麻豆成人av免费视频| 搞女人的毛片| 久久精品国产自在天天线| 精华霜和精华液先用哪个| 99久久无色码亚洲精品果冻| 一个人免费在线观看电影| 女人被狂操c到高潮| 久久精品91蜜桃| 少妇裸体淫交视频免费看高清| 老女人水多毛片| 少妇人妻一区二区三区视频| 51国产日韩欧美| 边亲边吃奶的免费视频| 禁无遮挡网站| 最近中文字幕2019免费版| 两个人视频免费观看高清| 欧美激情国产日韩精品一区| 我要搜黄色片| 亚洲性久久影院| 日韩强制内射视频| 18禁动态无遮挡网站| 午夜福利网站1000一区二区三区| 国产精品久久久久久av不卡| av在线亚洲专区| 欧美精品国产亚洲| 国产久久久一区二区三区| 汤姆久久久久久久影院中文字幕 | 国产精品国产三级国产av玫瑰| 青春草国产在线视频| av在线亚洲专区| 一边亲一边摸免费视频| 建设人人有责人人尽责人人享有的 | 少妇高潮的动态图| 99久久中文字幕三级久久日本| 晚上一个人看的免费电影| 汤姆久久久久久久影院中文字幕 | 亚洲国产精品成人综合色| 国产午夜精品论理片| 网址你懂的国产日韩在线| 亚洲av免费在线观看| 国产在线一区二区三区精 | 亚洲精品色激情综合| 嫩草影院新地址| 亚洲人成网站在线观看播放| 丰满人妻一区二区三区视频av| 亚洲人成网站在线播| 我的老师免费观看完整版| 亚洲精品aⅴ在线观看| 久久久久久国产a免费观看| 又黄又爽又刺激的免费视频.| 亚洲成人精品中文字幕电影| 久久久久网色| 看十八女毛片水多多多| 日韩强制内射视频| 亚洲国产日韩欧美精品在线观看| or卡值多少钱| 可以在线观看毛片的网站| 久久久久久久久久黄片| 午夜精品国产一区二区电影 | 欧美激情在线99| 国产精品.久久久| 欧美zozozo另类| 国产伦在线观看视频一区| 国产av不卡久久| 亚洲人成网站高清观看| 丰满人妻一区二区三区视频av| 最近最新中文字幕大全电影3| 国产成人免费观看mmmm| 高清在线视频一区二区三区 | 18禁裸乳无遮挡免费网站照片| 在线观看66精品国产| 嫩草影院入口| 精品国产一区二区三区久久久樱花 | 精品久久国产蜜桃| 国产精品麻豆人妻色哟哟久久 | 国产伦在线观看视频一区| 爱豆传媒免费全集在线观看| 精品久久久久久久久久久久久| 免费播放大片免费观看视频在线观看 | 中国美白少妇内射xxxbb| 国产欧美另类精品又又久久亚洲欧美| 亚洲人成网站在线播| 亚洲真实伦在线观看| 成人性生交大片免费视频hd| 看十八女毛片水多多多| 日日摸夜夜添夜夜爱| 波野结衣二区三区在线| 久久久久九九精品影院| av.在线天堂| 一本一本综合久久| 国产女主播在线喷水免费视频网站 | av在线天堂中文字幕| 不卡视频在线观看欧美| 免费观看性生交大片5| 欧美激情久久久久久爽电影| 亚洲国产精品成人综合色| 免费av不卡在线播放| 国产精华一区二区三区| 全区人妻精品视频| 亚洲四区av| 男的添女的下面高潮视频| 在线免费观看不下载黄p国产| 只有这里有精品99| 干丝袜人妻中文字幕| av在线观看视频网站免费| 国产视频内射| 日韩欧美精品v在线| 99热这里只有是精品在线观看| 午夜福利网站1000一区二区三区| 1024手机看黄色片| 麻豆久久精品国产亚洲av| 久久久国产成人免费| 亚洲在久久综合| 亚洲国产精品合色在线| 爱豆传媒免费全集在线观看| 中文字幕人妻熟人妻熟丝袜美| 草草在线视频免费看| 欧美另类亚洲清纯唯美| 久久精品久久久久久噜噜老黄 | 午夜福利网站1000一区二区三区| 99热6这里只有精品| 欧美日韩在线观看h| 日本三级黄在线观看| 亚洲av免费在线观看| 波多野结衣巨乳人妻| 久久久精品欧美日韩精品| 久久久久国产网址| 一边摸一边抽搐一进一小说| 1000部很黄的大片| 久久精品夜色国产| 汤姆久久久久久久影院中文字幕 | 水蜜桃什么品种好| 久久久亚洲精品成人影院| 日韩 亚洲 欧美在线| 免费看a级黄色片| 又爽又黄无遮挡网站| 日本wwww免费看| 亚洲天堂国产精品一区在线| 又粗又爽又猛毛片免费看| 免费在线观看成人毛片| 亚洲欧美日韩无卡精品| 免费黄网站久久成人精品| 久久久久久久久大av| 国产色婷婷99| 国产精品精品国产色婷婷| 伦理电影大哥的女人| 好男人视频免费观看在线| 精品不卡国产一区二区三区| 国产精品熟女久久久久浪| 久久久久久九九精品二区国产| 久久久色成人| ponron亚洲| 亚洲欧美日韩高清专用| 少妇高潮的动态图| 国产亚洲最大av| 两个人的视频大全免费| 色综合亚洲欧美另类图片| 免费看av在线观看网站| 亚洲激情五月婷婷啪啪| 精品欧美国产一区二区三| 色综合色国产| 日日干狠狠操夜夜爽| 国产伦理片在线播放av一区| 久久久久久伊人网av| 欧美另类亚洲清纯唯美| 97人妻精品一区二区三区麻豆| 精品无人区乱码1区二区| 午夜福利高清视频| 99久久精品国产国产毛片| 夫妻性生交免费视频一级片| 久久99热这里只频精品6学生 | 精品99又大又爽又粗少妇毛片| 久久欧美精品欧美久久欧美| 最近手机中文字幕大全| 亚洲,欧美,日韩| 精品午夜福利在线看| 午夜福利成人在线免费观看| 国产精品国产三级专区第一集| 老司机影院成人| 成人亚洲欧美一区二区av| 久久精品久久精品一区二区三区| 99久久精品一区二区三区| 日日撸夜夜添| 久热久热在线精品观看| 国内少妇人妻偷人精品xxx网站| 免费搜索国产男女视频| 一级毛片久久久久久久久女| 欧美潮喷喷水| 国产黄片视频在线免费观看| 美女脱内裤让男人舔精品视频| 亚洲国产精品成人久久小说| 国产一区二区三区av在线| 亚洲天堂国产精品一区在线| 国产男人的电影天堂91| 夜夜爽夜夜爽视频| 国产高清国产精品国产三级 | 亚洲国产欧洲综合997久久,| 成人午夜精彩视频在线观看| 狠狠狠狠99中文字幕| 国产午夜福利久久久久久| 成年免费大片在线观看| 亚洲国产精品专区欧美| 精品久久久噜噜| 久久综合国产亚洲精品| 色网站视频免费| 麻豆成人午夜福利视频| av播播在线观看一区| 午夜福利成人在线免费观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 国产免费一级a男人的天堂| 热99re8久久精品国产| 色噜噜av男人的天堂激情| 夜夜爽夜夜爽视频| 欧美性感艳星| 白带黄色成豆腐渣|