亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vc25pro_doc_unamsacmclasses.html

?? Voice Commnucation Components for Delphi
?? HTML
?? 第 1 頁 / 共 5 頁
字號:
      Unprepares the header before first usage. This class calls unprepareHeader() method of device to do this.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.rePrepare(); virtual;</SPAN><P />
      Prepares the header after it was used once or more.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.isDoneHeader(): bool; virtual; abstract;</SPAN><P />
      Returns true if header contains data what was produced or used by device and can be changed or re-used. Descendant classes must override this method.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.isInQueue(): bool; virtual; abstract;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.enter(timeout: unsigned): bool;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.leave();</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.create(device: <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>);</SPAN><P />
      Creates device buffer header. This buffer is used to pass data to and from device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.BeforeDestruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.isFree: bool;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>(<SPAN class="class">unaThread</SPAN>)</H4><P />
    This is abstract class used as a base for classes dealing with audio streams (codecs, waveIn and waveOut, mixers).

    <P />Before opening stream device you should specify source and destination formats of audio streams device will work with.
    Method setFormat() will be called to set up source and destination format structures. You can access these structures later using the srcFormat and dstFormat properties.
    They are pointers on WAVEFORMATEX and should be treated as read-only data. Destructor takes care about releasing these structures.

    <P />All stream processing is done chunk by chunk. Chunk is the minimal amount of data which can be processed once in a time.
    Chunk size is calculated automatically, and it will be enough to hold about 1/10 of second of audio. Use chunkSize property to examine current size of chunk.

    <P />Since processing the audio stream could take some time, unaMsAcmStreamDevice has build-in mechanism which prevents stream overloading.
    Use the checkOverload property to enable or disable this mechanism. numOverload property specifies maximum number of unprocessed chunks in output or input stream.
    When actual number reaches this value, all new chunks will be discarded, until there will be enough space in the stream to put new chunk of data.

    <P />inBytes and outBytes properties holds the amount of audio data written to and read from device.
  <P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.setFormat(isSrc: bool; const format: string): bool;</SPAN><P />
      Sets the source or destination PCM format for device. Format is given in string representation using base64 encoding.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.setFormatEx(isSrc: bool; const format: WAVEFORMATEX): bool; virtual;</SPAN><P />
      Sets the source or destination PCM format for device. Format is given as WAVEFORMATEX structure.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.doOpen(flags: unsigned): MMRESULT; virtual;</SPAN><P />
      Opens device. This method is usually overrided by descendant classes to perform the actual job.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.open2(query: bool = false; timeout: unsigned = 10000; flags: unsigned = 0): MMRESULT; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.doClose(timeout: unsigned = 1): MMRESULT; virtual;</SPAN><P />
      Closes device. This method is usually overrided by descendant classes to perform the actual job.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.doGetErrorText(errorCode: MMRESULT): string; virtual;</SPAN><P />
      Uses mmGetErrorCodeText2() to produce the error message.
      Other devices could have own doGetErrorText() implementation.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.doGetPosition(): int64; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.beforeNewChunk(data: pointer; size: unsigned): bool; virtual;</SPAN><P />
      Performs initial actions for new chunk of data, such as volume level calculation.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.prepareHeader(header: <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>): MMRESULT; virtual; abstract;</SPAN><P />
      Prepares the buffer header before first use. Descendant classes must override this method.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.unprepareHeader(header: <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>): MMRESULT; virtual; abstract;</SPAN><P />
      Unprepares the buffer header after last use. Descendant classes must override this method.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.afterOpen(): MMRESULT; virtual;</SPAN><P />
      Called after the device was opened. Descendant classes may override this method to perform additional actions required by hardware/software.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.afterClose(closeResult: MMRESULT); virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.close2(timeout: unsigned = 10000): MMRESULT; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.startIn(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.startOut(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.flush2(waitForComplete: bool = true): bool; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getMasterIsSrc2(): bool; virtual; abstract;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.formatChooseDef2(var format: pWAVEFORMATEX): MMRESULT; dynamic;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.setRealTime(value: bool); virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.dstChunkSize: unsigned;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.create(createInStream: bool = true; createOutStream: bool = true; inOverNum: unsigned = 0; outOverNum: unsigned = 0; calcVolume: bool = false);</SPAN><P />
      Initializates class instance.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">destructor <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.Destroy(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.BeforeDestruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.open(query: bool = false; timeout: unsigned = 10000; flags: unsigned = 0): MMRESULT;</SPAN><P />
      Opens the device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.close(timeout: unsigned = 10000): MMRESULT;</SPAN><P />
      Closes the device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.isOpen(): bool;</SPAN><P />
      Returns true if device was opened successfully.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getVolume(channel: unsigned = 0): unsigned;</SPAN><P />
      Returns current volume level for open device.
      Volume range is from 0 to 32768.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getPrevVolume(channel: unsigned = 0): unsigned;</SPAN><P />
      Returns previous volume level for open device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.setDspProperty(isLD: bool; propID: uint; value: int); overload;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.setDspProperty(isLD: bool; propID: uint; const value: float); overload;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getDspProperty(isLD: bool; propID: uint; def: int = 0): int; overload;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getDspProperty(isLD: bool; propID: uint; const def: float): float; overload;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.okToRead(): bool;</SPAN><P />
      Use this method to check if you can read new data from device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getPosition(): int64;</SPAN><P />
      Returns current position in samples.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.read(buf: pointer; size: unsigned = 0): unsigned;</SPAN><P />
      Reads data from device.
      Returns size of actual returned data.
      Specify 0 as size parameter value when reading from ACM codec device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.write(buf: pointer; size: unsigned): unsigned;</SPAN><P />
      Sends data to device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.flush(waitForComplete: bool = true): bool;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getDataAvailable(isIn: bool): unsigned;</SPAN><P />
      Returns number of bytes available to read from the device.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.getMasterIsSrc(): bool;</SPAN><P />
      Returns true if device is output device (playback or codec).
      Returns false if device is input device (recording).
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.assignStream(isInStream: bool; stream: unaAbstractStream; careDestroy: bool = false): unaAbstractStream; overload;</SPAN><P />
      Assigns input or output stream for device.
      You can specify nil as stream to disable the input/output.
      If you wish the device to destroy the stream in own destructor - specify true in careDestroy parameter.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.assignStream(streamClass: unaAbstractStreamClass; isInStream: bool; careDestroy: bool = true): unaAbstractStream; overload;</SPAN><P />
      Assigns input or output stream for device.
      Stream will be created using the provided stream class.
      If you wish the device to destroy the stream in own destructor - specify true in careDestroy parameter.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.addConsumer(device: <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>; removeOutStream: bool = true): unsigned;</SPAN><P />
      Adds a new consumer for device output.
      All data produced by device will be passed to all consumers added by this method.
      If you wish to destroy the output stream leave the default true value for removeOutStream parameter.
      (Stream will be destroyed only if it was not a stream assigned by assignStream() with careDestroy = false).
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>.removeConsumer(device: <A HREF="#class_unaMsAcmStreamDevice"><SPAN class="class">unaMsAcmStreamDevice</SPAN></A>): bool;</SPAN><P />
      Removes consumer from consumers list.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.久久久久久久久| 精品一区二区三区久久| 精品少妇一区二区| 91小视频免费看| 激情五月激情综合网| 一区二区三区电影在线播| 精品久久久久av影院| 欧美曰成人黄网| 99国产精品久久久久| 国产精品一区二区三区乱码| 日韩在线观看一区二区| 日韩一区在线播放| 久久精品亚洲麻豆av一区二区| 欧美人与禽zozo性伦| 色综合亚洲欧洲| 丁香婷婷综合激情五月色| 国精品**一区二区三区在线蜜桃| 亚洲成人av一区二区三区| **欧美大码日韩| 久久久电影一区二区三区| 日韩午夜中文字幕| 欧美狂野另类xxxxoooo| 91精品办公室少妇高潮对白| 国产又黄又大久久| 国产中文字幕一区| 久久99精品国产| 毛片不卡一区二区| 久久爱另类一区二区小说| 日韩av一区二| 日本在线不卡一区| 日本视频一区二区三区| 日韩中文字幕一区二区三区| 亚洲va天堂va国产va久| 午夜精品123| 亚洲18色成人| 婷婷久久综合九色综合绿巨人 | 亚洲成人动漫在线观看| 一区二区三区在线播放| 亚洲精品成人精品456| 国产精品久久久久久久浪潮网站| 中文字幕免费不卡| 欧美国产精品一区二区三区| 日韩三级在线免费观看| 欧美变态tickle挠乳网站| 欧美xfplay| 久久综合99re88久久爱| 国产欧美日韩视频一区二区 | 久久亚洲一级片| 久久亚洲春色中文字幕久久久| 久久综合国产精品| 国产精品色哟哟| 国产精品久久精品日日| 成人免费在线视频观看| 亚洲最色的网站| 丝袜亚洲另类丝袜在线| 久久99最新地址| 国产成人综合精品三级| 91视频在线观看| 欧美三级视频在线观看| 欧美一区二区精品在线| 久久久国产综合精品女国产盗摄| 国产精品久久久久久久浪潮网站 | 在线电影国产精品| 精品欧美一区二区久久| 国产欧美日韩在线| 亚洲制服欧美中文字幕中文字幕| 日韩在线播放一区二区| 国产九九视频一区二区三区| 99精品欧美一区二区蜜桃免费| 欧美中文字幕不卡| 2019国产精品| 中文字幕一区二区三区在线播放| 亚洲一区二区影院| 精品一区二区在线看| 99久久久国产精品| 91精品麻豆日日躁夜夜躁| 中文在线一区二区| 午夜精品久久久久久久久| 国产酒店精品激情| 欧美撒尿777hd撒尿| 久久精品人人做人人综合| 一区二区三区色| 国产一区二区三区av电影| 在线观看日韩电影| 久久女同互慰一区二区三区| 一区二区三区精品在线| 国模大尺度一区二区三区| 欧美亚洲综合色| 亚洲国产成人在线| 日韩av一区二区三区| 97久久超碰国产精品电影| 精品剧情在线观看| 一卡二卡三卡日韩欧美| 国产福利精品一区| 欧美日韩高清影院| 国产精品毛片久久久久久久| 美女高潮久久久| 欧美在线你懂的| 欧美国产亚洲另类动漫| 久久精品72免费观看| 在线视频一区二区免费| 欧美国产精品v| 麻豆一区二区在线| 欧美日韩日日摸| 国产精品久久久久久久裸模| 韩国理伦片一区二区三区在线播放| 在线影视一区二区三区| 欧美极品aⅴ影院| 蜜臀av在线播放一区二区三区| 欧美性猛片xxxx免费看久爱| 国产三级精品视频| 日本伊人午夜精品| 欧美日韩精品欧美日韩精品| 亚洲视频每日更新| 成人久久视频在线观看| 26uuu国产日韩综合| 日本欧美久久久久免费播放网| 91亚洲资源网| 中文字幕精品一区二区精品绿巨人| 国产综合久久久久影院| 日韩欧美国产综合一区| 婷婷一区二区三区| 欧美三级欧美一级| 亚洲一区二区三区影院| 91久久一区二区| 亚洲视频精选在线| 色www精品视频在线观看| 亚洲品质自拍视频网站| 91老师片黄在线观看| 1区2区3区国产精品| 成人动漫一区二区三区| 国产精品天美传媒沈樵| 成人一区二区视频| 欧美韩日一区二区三区| 成人黄色小视频在线观看| 国产欧美日本一区视频| 国产69精品一区二区亚洲孕妇 | 欧美国产精品v| 成人在线视频首页| 亚洲人成影院在线观看| 一本到高清视频免费精品| 亚洲精品乱码久久久久久| 日本福利一区二区| 亚洲成人精品一区| 日韩网站在线看片你懂的| 久久99国产精品久久99| 久久一夜天堂av一区二区三区| 国产成人综合亚洲网站| 亚洲欧美中日韩| 欧美亚洲禁片免费| 青青草国产成人av片免费| 欧美成人三级电影在线| 国产成人午夜精品影院观看视频 | 一区二区三区在线免费播放 | 日韩一级黄色片| 国产在线国偷精品产拍免费yy| 国产日韩一级二级三级| 91在线国产福利| 亚洲国产一区在线观看| 日韩一级二级三级精品视频| 激情av综合网| 亚洲欧洲av色图| 51精品秘密在线观看| 国产成人免费av在线| 亚洲综合男人的天堂| 亚洲午夜激情av| 久久久久久久久蜜桃| 国产欧美一区二区精品忘忧草| 成人精品国产免费网站| 一区二区三区欧美日| 制服丝袜日韩国产| 国产精品一区二区你懂的| 亚洲视频中文字幕| 日韩三级免费观看| 亚洲123区在线观看| 欧美经典一区二区三区| 91麻豆精品国产自产在线观看一区| www.成人网.com| 国产麻豆视频一区| 青草国产精品久久久久久| 亚洲欧美国产高清| 国产亲近乱来精品视频| 欧美一区二区三区日韩| 欧美影院午夜播放| 99免费精品视频| 国产99精品视频| 国产盗摄一区二区| 国产精品综合二区| 久久av中文字幕片| 日本 国产 欧美色综合| 亚洲电影视频在线| 一级精品视频在线观看宜春院| 国产精品久久久久久亚洲毛片 | 久久久久久麻豆| 日韩色视频在线观看| 日韩一级高清毛片| 日韩丝袜情趣美女图片| 91精品中文字幕一区二区三区| 欧美性大战久久久| 欧美在线free|