• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            鐵觀音

            C++編程寶典

               ::  ::  ::  ::  :: 管理 ::
              1 隨筆 :: 19 文章 :: 0 評論 :: 0 Trackbacks
            第四章??System Output(Prompt)
            ?
            ????<prompt>元素用于控制合成語音和預錄制音頻的輸出。從概念上講,提示語是即時排隊播放的,因此解釋器會一直播放提示語,除非需要用戶提供輸入。從這一點看,提示語被播放,同時系統也在等待用戶輸入。一旦收到來自語音識別(或DTMF識別)子系統的輸入,解釋器就會繼續執行。
            ????<prompt>元素的屬性有:
            bargein 控制用戶是否可以打斷該提示語,值為true或false。當為true時,用戶可打斷系統提示。默認為bargein property的值。見6.3.4節 。
            bargeintype 設置bargein的類型,值為‘speech’或者‘hotword’,默認為bargeintype property屬性值。見6.3.4節。
            cond ECMAScript 表達式。只有當其結果值為boolean true,該<prompt>元素才被執行,否則不被執行。缺省時為true。
            count 它是一個數字,用于標識不同的<prompt>,默認值為“1”。
            timeout 等待隨后用戶輸入的時間,該屬性值是一個Time Designation(見6.5節)。默認的noinput timeout值是依賴于平臺的。
            xml:lang 該<prompt>的語言標識符。它默認為該文檔的"xml:lang"屬性的值。
            xml:base 聲明一個基本URI,用于解析該<prompt>元素中的相對URI。<prompt>元素中的該屬性的優先權高于<vxml>元素。如果缺省,它的值從文檔層次繼承得到。
            表33:<prompt>元素的屬性
            ?
            第一節 Speech Markup ?
            ? ????????
            ?
            ????<prompt>元素的內容是以W3C SSML1.0(Speech Synthesis Markup Language)為模型的。
            ????下面是SSML1.0中定義的語音標記,它們在VoiceXML2.0中是可用的。這些元素的例子和定義請參考SSML1.0。
            元素 作用 章節鏈接
            <audio> 指定要播放的音頻文件和文本。 2.3.1
            <break> 在語音輸出中插入一個停頓。 2.2.3
            <desc> 為<audio>元素中的非語音音頻提供一段描述。 2.3.3
            <emphasis> 在所包含的文本中加強重音。 2.2.2
            <lexicon> 為相應的提示語指定發音詞典。 3.3
            <mark> VoiceXML平臺忽略該元素。 2.3.2
            <metadata> 指定該提示語的XML元數據內容。 3.4
            <paragraph>(或<p>) 標識一個段落,可包括0個或多個句子。 2.1.3
            <phoneme> 為包含的文本指定發音。 2.1.5
            <prosody> 包含在一個規則定義中的元素,該元素提供了一個匹配該規則的輸入的例子。 2.2.4
            <say-as> 為包含的文本指定結構的類型。 2.1.4
            <sentence>(或<s>) 把所包含的文本標識為一個句子。 2.1.3
            <sub> 用指定的文本的發音代替所包含的文本的發音。 2.1.6
            <voice> 指定文本的聲音特性。 2.2.1
            表34:VoiceXML可用的SSML元素
            ????當在VoiceXML中使用時,<audio>元素(見4.1.3節)和<say-as>元素(見附錄P)定義了一些新的屬性。VoiceXML也允許<enumerate>元素和<value>元素出現在<prompt>元素中。
            ????VoiceXML平臺必須是SSML中定義的Conforming Speech Synthesis Markup Language Processor。雖然平臺要處理文檔中定義的一個或多個“xml:lang”屬性,但是并不要求平臺必須是支持多語言的。當遇到一種不支持的語言時,平臺要拋出error.unsupported.language事件,該事件在它的“_message”變量中指定了這種不支持的語言。
            ?
            第二節 Basic Prompts ??
            ? ????????
            ?
            ????在前面的例子中你已經見過<prompt>元素了:
                  <prompt>Please say your city.</prompt>
            ????你可以使用<prompt> ... </prompt>這種形式,如果:
            ??????·不需要指定該<prompt>元素的屬性;
            ??????·該<prompt>元素的內容完全由PCDATA組成,或是由<audio>元素和<value>元素組成。
            ????例如,<prompt>元素可以包含如下內容:
                  Please say your city.
            										
                  <audio src="say_your_city.wav"/>
            ????但是,在下面的例子中,<prompt>元素的內容需要嵌入語音標記:
                  <prompt>Please <emphasis>say</emphasis> your city.</prompt>
            ?

            第三節 Audio Prompting ?
            ? ????????
            ?
            ????提示語可以是預先錄音的文件,音頻流和合成語音這三種方式的任意組合:
                  <prompt>
                    Welcome to the Bird Seed Emporium.
                    <audio src="rtsp://www.birdsounds.example.com/thrush.wav"/>
                    We have 250 kilogram drums of thistle seed for
                    <say-as interpret-as="currency">$299.95</say-as>
            										
                     plus shipping and handling this month.
                    <audio src="http://www.birdsounds.example.com/mourningdove.wav"/>
                  </prompt>
            ????在任何提示中都可以播放音頻。音頻的內容可以通過URI指定;在VoiceXML中,它也可以是先前錄音的一個音頻變量(audio variable):
                  <prompt>
                    Your recorded greeting is
                    <audio expr="greeting"/>
                    To rerecord, press 1.
                    To keep it, press pound.
                    To return to the main menu press star M.
                    To exit press star, star X.
                  </prompt>
            ????當聲音文件或音頻流不可用時,<audio>元素可以有備用的內容:
                  <prompt>
                    <audio src="welcome.wav">
                    <emphasis>Welcome</emphasis> to the Voice Portal.
                    </audio>
                  </prompt>
            ????如果聲音文件不能播放(例如,“src”指向的或“expr”求得的值為一個無效的URI,或者聲音文件的格式是平臺不支持的格式等),該<audio>的內容就會被播放。這些內容可以是文本、語音標記或者另外的<audio>元素。如果聲音文件不能播放,且該<audio>元素的內容為空,則不會有任何聲音,也不會拋出error事件。
            ????如果<audio>元素包含有“expr”屬性,該屬性求得的值為ECMAScript的undefined,則該元素,包括它的備用內容,被忽略。這樣,開發者就可以動態的指定<audio>元素的內容,如果不需要播放該元素,就可以給它的“expr”屬性賦一個null值來忽略它。下面的例子展示了該技巧怎樣用在回放由幾個音頻片斷組成的一組卡的信息:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://www.w3.org/2001/vxml
                           http://www.w3.org/TR/voicexml20/vxml.xsd">
                    <form>
                       <!-- script contains the function sayCard(type,position)
                            which takes as input the type of card description (audio or text) and
                             its position in an array, and returns the selected card description in
                             the specified array position; if there is no description in the 
                             requested array position, then returns EMCAScript undefined -->
            										
                      <script src="cardgame.js"/>
            										
                      <field name="takecard">
                         <grammar type="application/srgs+xml" src="/grammars/boolean.grxml"/>
                         <prompt>
                            <audio src="you_have.wav">You have the following cards: </audio>
                            <!-- maximum of hand of 5 cards is described -->
                            <audio expr="sayCard(audio,1)"><value expr="sayCard(text,1)"/></audio>
                            <audio expr="sayCard(audio,2)"><value expr="sayCard(text,2)"/></audio>
                            <audio expr="sayCard(audio,3)"><value expr="sayCard(text,3)"/></audio>
                            <audio expr="sayCard(audio,4)"><value expr="sayCard(text,4)"/></audio>
                            <audio expr="sayCard(audio,5)"><value expr="sayCard(text,5)"/></audio>
                            <audio src="another.wav">Would you like another card?</audio>
                         </prompt>
                         <filled>
                           <if cond="takecard">
                             <script>takeAnotherCard()</script>
                             <clear/>
                           <else/>
                             <goto next="./make_bid.aspl"/>
                           </if>
                         </filled>
                       </field>
                    </form>
                  </vxml>
            ????SSML中定義的<audio>的屬性有:
            src 要引用的音頻的URI。必須支持的聲音文件格式見附錄E;其他格式的聲音文件,如果平臺支持的話,在這里也可以用。
            表35:<audio> 從SSML繼承的屬性
            ????VoiceXML中定義的<audio>元素的屬性:
            fetchtimeout 見6.1節。默認為fetchtimeout property指定的值。
            fetchhint 見6.1節。默認為audiofetchhint property指定的值。
            maxage 見6.1節。默認為audiomaxage property指定的值。
            maxstale 見6.1節。默認為audiomaxstale property指定的值。
            expr ECMAScript表達式,它求得的值為要播放的音頻源。該表達式可以引用先前<record>元素錄下的音頻,也可以是要獲取的音頻源的URI的值。
            表36:<audio> VoiceXML中加入的屬性
            ????必須指定屬性“src”和“expr”其中的一個,否則會拋出error.badfetch事件。
            ????注意:音頻流是平臺播放的最佳選擇:即當獲得一部分音頻的內容時,平臺就可以開始播放,而不用等到完全獲得音頻。如果fetchhint的值為"prefetch",則必須預先獲得完整的音頻才可以進行回放。

            第四節 <value> Element?
            ?????????
            ?
            ????<value>元素用于把表達式的值插入到提示語中。它的屬性有:
            exprECMAScript表達式。
            表37:<value>元素的屬性
            ????例如,如果n為12,該<prompt>元素
                  <prompt>
                    <value expr="n*n"/> is the square of <value expr="n"/>.
                  </prompt>
            把字符串“144 is the square of 12”傳給語音合成引擎。
            ????播放<value>元素值的方式由它兩端的語音合成標記控制。例如,下面的例子把<value>元素的值讀成日期形式:
                  <var name="date" expr="'2000/1/20'"/>
                    <prompt>
                      <say-as interpret-as="date"> <value expr="date"/> </say-as>.
                    </prompt>
            ????被<value>元素插入的文本不會受到任何特別的解釋。特別的,它不會作為一個SSML文檔或文檔段被解釋。XML特定的字符(&,<和>)不會被特別對待,也不需要避開。<value>元素在CDATA部分求得的值插入一段文本也是一樣的結果。例如,下面賦值的變量
                  <script>
                    <![CDATA[
                         e1 = 'AT&T';
                     ]]>
                  </script>
            在一個<prompt>元素中被引用時
                  <prompt>The price of<value expr="e1"/> is $1.</prompt>
            輸出如下結果:
                  The price of AT&T is $1.
            ?

            第五節 Bargein?
            ????????
            ?
            ????如果執行平臺支持bargein,則開發者就能夠指定用戶是否可以使用DTMF或語音打斷正在播放的提示語。這樣可以加快交互的速度,但并不是所有的情況我們都希望用戶可以打斷提示語。如果要求用戶必須聽完所有的警告,合法的通知或廣告,則應該讓bargein失效,可通過設置bargein屬性達到。如下:
                  <prompt bargein="false"><audio src="legalese.wav"/></prompt>
            ????如果一個<prompt>元素的bargein屬性值為true,則用戶可以打斷該提示語;反之,如果bargein屬性值為false,則用戶必須聽完該<prompt>元素的提示語。如果有幾個<prompt>元素排隊,則遵循正在播放的那個<prompt>元素的bargein屬性值。如果在該序列中的某個<prompt>元素出現bargein,則其后的<prompt>元素都不會被播放(即使其中有的<prompt>元素的bargein屬性值為false)。如果沒有指定bargein屬性,則使用bargein propery的值。
            ????當bargein屬性值為false,則在播放<prompt>元素提示語時,輸入是不會被緩沖的,且在跳轉狀態中,所有的DTMF輸入緩沖均被刪除(4.1.8描述了在跳轉狀態時輸入的收集)。
            ????注意,不是所有的語音識別引擎或執行平臺都支持bargein。一個支持bargein的平臺必須支持下一節中描述的bargeintype中的一種。
            ????Bargein type
            ????當bargein為激活時,bargeintype用于表示平臺要響應的語音或DTMF輸入的bargein的類型。該屬性允許的值為:
            speech當檢測到有DTMF或語音輸入時,提示語馬上停止播放,不管輸入是否匹配激活的語法。
            hotword直到檢測到輸入完全匹配一個激活的語法時,才馬上停止播放提示語。不匹配語法的輸入被忽略,且不會產生nomatch的事件。
            表38:bargeintype 的值
            ????如果沒有指定bargeintype屬性,則使用bargeintype property的值。支持bargein的執行平臺必須至少支持上述兩種bargein類型中的一種。在一個<prompt>元素序中,混合使用這兩種類型可能導致不可預知的行為,我們不鼓勵這種做法。
            ????當bargeintype為speech時,由于語音識別技術的復雜性,語音輸入的精確定義是依賴于執行平臺的。我們期望一旦平臺能夠可靠的確定輸入為語音時,就要立刻停止播放提示語。盡快停止播放提示語可避免"stutter"效應,免得用戶以為系統沒有聽到語音而停止說了一半的話,并且從頭開始說。
            第六節 Prompt Selection ?
            ? ???????
            ?
            ????分級提示即每次播放的提示語都可以不一樣。當用戶對服務更熟悉時,提示語可變得更簡短;而用戶需要更多的幫助時,提示語可變得更詳細;或者提示語不停的改變只是為了使交互更有趣。
            ????每個input item、<initial>元素和<menu>元素都有一個內部的提示語計數器,當進入該<form>元素或<menu>元素時,這些計數器被置為1。無論系統何時播放一個提示語,它相應的計數器都會增加1。這就是支持分級提示的機制。
            ????例如,下面的例子的form中有一個form級的<prompt>元素和幾個filled級的<prompt>元素:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://www.w3.org/2001/vxml
                           http://www.w3.org/TR/voicexml20/vxml.xsd">
                    <form id="tapered">
                      <block>
                        <prompt bargein="false">
                           Welcome to the ice cream survey.
                        </prompt>
                      </block>
                      <field name="flavor">
                         <grammar mode="voice" version="1.0" root="root">
                           <rule id="root" scope="public">
                            <one-of>
                              <item>vanilla </item>
                              <item>chocolate </item>
                              <item>strawberry </item>
                            </one-of>
                          </rule>
                        </grammar>
                        <prompt count="1">What is your favorite flavor?</prompt>
                        <prompt count="3">Say chocolate, vanilla, or strawberry.</prompt>
                        <help>Sorry, no help is available.</help>
                      </field>
                    </form>
                  </vxml>
            ????一個可能的對話流程:
                  C: Welcome to the ice cream survey.
                  C: What is your favorite flavor? (the "flavor" field's prompt counter is 1) 
                  H: Pecan praline.
                  C: I do not understand.
                  C: What is your favorite flavor? (the prompt counter is now 2) 
                  H: Pecan praline.
                  C: I do not understand.
                  C: Say chocolate, vanilla, or strawberry. (prompt counter is 3)
                  H: What if I hate those?
                  C: I do not understand.
                  C: Say chocolate, vanilla, or strawberry. (prompt counter is 4) 
                  H: ...
            ????當FIA選定提示語時,會檢查它的計數器。小于或等于當前計數器值的<prompt>元素中,count屬性值最高的被FIA選定并播放。如果沒有指定count屬性,則該屬性的默認值為1。
            ????條件提示是指當條件滿足時才播放該提示語。如下:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://www.w3.org/2001/vxml
                           http://www.w3.org/TR/voicexml20/vxml.xsd">
                    <form id="another_joke">
                      <var name="r" expr="Math.random()"/>
                        <field name="another">
                         <grammar type="application/srgs+xml" src="/grammars/boolean.grxml"/>
                        <prompt cond="r < .50">
                           Would you like to hear another elephant joke?
                         </prompt>
                         <prompt cond="r >= .50">
                            For another joke say yes.  To exit say no.
                          </prompt>
                          <filled>
                            <if cond="another">
                              <goto next="#pick_joke"/>
                           </if>
                        </filled>
                      </field>
                    </form>
                  </vxml>
            ????當必須選擇一個<prompt>元素時,根據下面的算法選擇一組<prompt>元素進行排隊。
            ??????1、將該元素包含的所有<prompt>元素按照文檔順序形成一個有序的列表;
            ??????2、將該列表中cond屬性值為false的<prompt>元素刪除;
            ??????3、找出“正確的計數”:該列表中小于或等于當前計數器值,且count屬性值最高的<prompt>元素;
            ??????4、將該列表中所有不符合“正確的計數”的<prompt>元素刪除,該列表中剩下的<prompt>元素排隊進行播放。
            ?
            第七節 Timeout ?
            ? ????????
            ?
            ????timeout屬性指定了當最后一個<prompt>元素播放結束后,等待用戶輸入時,允許的靜音時間。如果靜音事件超過了timeout屬性值,則拋出noinput事件。在<prompt>元素排隊時,該屬性默認為timeout property指定的值(見6.3.4節)。換句話說,每個<prompt>元素都有它自己的timeout值。
            ????允許指定<prompt>元素的timeout屬性值是為了能夠支持分級timeout。例如,用戶在第一次輸入時有5秒的事件,而第二次則有10秒。
            ????<prompt>元素的timeout屬性決定了接下來用戶輸入的noinput timeout:
                  <prompt count="1">
                      Pick a color for your new Model T.
                  </prompt>
            										
                  <prompt count="2" timeout="120s">
                      Please choose color of your new nineteen twenty four
                      Ford Model T. Possible colors are black, black, or
                      black.  Please take your time.
                 </prompt>
            ????如果在用戶輸入之前有幾個<prompt>元素進行排隊,則使用最后一個<prompt>元素的timeout屬性值。

            第八節 Prompt Queueing and Input Collection ?
            ? ????????
            ?
            ????VoiceXML解釋器一直都處于下面的兩種狀態之一:
            ??????·在input itm 中等待輸入(例如<field>,<record>或<transfer>元素) ;
            ??????·在input item中跳轉以響應在等待狀態中收集到的輸入(包括語音輸入、DTMF按鍵輸入和與輸入有關的的事件,如noinput和nomatch事件)。當在跳轉狀態時,任何語音輸入都不會被收集、接受或解釋。從而,root和文檔級的語音語法在整個應用中可能都沒有被激活的機會。然而,在跳轉狀態時,DTMF輸入應該被收集并緩沖。同樣的,和跳轉的執行沒有直接關系的異步產生的事件(如connection.disconnect.hangup事件)也應該被緩沖,直到等待狀態才被刪除。
            ????等待和跳轉狀態與FIA的幾個階段的關系如下:
            ??????·在一個input item的收集階段開始時才進入等待狀態(在解釋器等待輸入的那一刻)。
            ??????·跳轉狀態貫穿了處理階段和選定階段,包括control item(例如<block>元素)的選定階段和input item的選定階段,直到解釋器等待輸入的那一刻。
            ????分成兩個狀態是為了更好的簡化編程的模型。特別的,這個模型讓VoiceXML應用的開發者能夠依靠所有的可執行內容(例如<filled>元素和<block>元素的內容)一直運行到完成要執行的操作。因為在跳轉狀態,正在執行的操作不會被用戶的輸入打斷。
            ????在跳轉狀態有多種<prompt>元素進行排隊,或者是可執行內容中的<prompt>元素,或者是form item中的<prompt>元素。另外,由于指定了fetchaudio屬性,音頻也可以參加排隊。當出現下面的情況之一時,播放排隊的<prompt>元素和音頻:
            ??????·當解釋器達到等待狀態時,此時系統播放提示語,且解釋器監聽是否有匹配激活的語法的輸入;
            ??????·當解釋器開始獲取資源(例如一個文檔),且該元素指定了fetchaudio屬性。在這種情況下,fetchaudio之前的提示語都會被播放,之后,如果確實需要獲取資源(即該資源在緩存中不是非過期的),就播放該fetchaudio直到獲取完成。在獲取資源時,解釋器處于跳轉狀態,且不接收任何輸入。
            ????注意,如果一個<prompt>元素的bargein屬性值為false,則輸入不會被收集,且在跳轉狀態時,緩沖中的DTMF輸入被刪除(見4.1.5)。
            ????在解釋器退出前,會播放完所有已排隊的<prompt>元素。當解釋器正在退出時,解釋器保持在跳轉狀態,且不接受任何輸入。
            ????一個允許的優化是:在達到等待狀態之前的跳轉狀態期間就播放已排隊的<prompt>元素。如果這樣做的話,對于在播放<prompt>元素時接收到的輸入音頻的處理是能夠保持正確的語義的。例如,對于bargein和語法的處理。
            ????下面的例子表明了,在某些情形下這些規則的操作。
            ????情形1
            ????典型的non-fetching情形:第一個<field>元素后面有可執行的內容(如<block>元素和<filled>元素),再后面是另外一個<field>元素。
                  in document d0
            										
                  <field name="f0"/>
            										
                  <block>
                      executable content e1
                      queues prompts {p1}
                  </block>
            										
                  <field name="f2">
                    queues prompts {p2}
                    enables grammars {g2}
                 </field>
            ????在<field>元素f0的等待狀態中接收到輸入,導致了下面操作的發生:
            ??????· 在跳轉狀態
            ????????o 執行e1(沒有<goto>元素)
            ????????o 對<prompt>元素{p1}排隊
            ????????o 對<prompt>元素{p2}排隊
            ??????·在等待狀態中同時進行如下操作
            ????????o 播放<prompt>元素{p1,p2}
            ????????o 激活語法{g2},并等待輸入
            ????情形2
            ????典型的獲取資源的情形:第一個<field>元素后面是以<goto>元素為結尾的可執行內容,該<goto>元素指定了fetchaudio屬性,并跳轉到另一個文檔中的<field>元素,該文檔是從服務器獲取的。
                  in document d0
            										
                  <field name="f0"/>
            										
                  <block>
                      executable content e1
                      queues prompts {p1}
                      ends with goto f2 in d1 with fetchaudio fa
                  </block>
            										
                  in document d1
                  <field name="f2">
                    queues prompts {p2}
                    enables grammars {g2}
                 </field>
            ????在<field>元素f0的等待狀態中接收到輸入,導致了下面操作的發生:
            ??????· 在跳轉狀態
            ????????o 執行 e1
            ????????o 對<prompt>元素 {p1}排隊
            ????????o 同時
            ??????????·獲取 d1
            ??????????·播放 {p1} ,之后播放fa,直到獲取資源完畢
            ????????o 對<prompt>元素 {p2}排隊
            ??????·在等待狀態中同時進行如下操作
            ????????o 播放 {p2}
            ????????o 激活語法 {g2} 并等待輸入
            ????情形3
            ????和情形2類似,只是沒有指定fetchaudio屬性。
                  in document d0
            										
                  <field name="f0"/>
            										
                  <block>
                      executable content e1
                      queues prompts {p1}
                      ends with goto f2 in d1 (no fetchaudio specified)
                  </block>
            										
                  in document d1
                  <field name="f2">
                    queues prompts {p2}
                    enables grammars {g2}
                 </field>
            ????在<field>元素f0的等待狀態中接收到輸入,導致了下面操作的發生:
            ??????· 在跳轉狀態
            ????????o 執行 e1
            ????????o 對<prompt>元素 {p1}排隊
            ????????o 獲取 d1
            ????????o 對<prompt>元素 {p2}排隊
            ??????·在等待狀態中同時進行如下操作
            ????????o 播放<prompt>元素 {p1, p2}
            ????????o 激活語法{g2},并等待輸入
            posted on 2006-09-16 22:29 鐵觀音 閱讀(835) 評論(0)  編輯 收藏 引用 所屬分類: VoiceXML2.0規范
            欧美成a人片免费看久久| 一本一道久久精品综合| 久久伊人五月丁香狠狠色| 亚洲国产精品无码久久一线| 欧美大香线蕉线伊人久久| 国产国产成人久久精品| 久久国产劲爆AV内射—百度| 精品久久久久香蕉网| 久久最新免费视频| 99久久精品毛片免费播放| 欧洲国产伦久久久久久久| 久久99精品久久久久久动态图| 久久AⅤ人妻少妇嫩草影院| 色欲久久久天天天综合网| 香港aa三级久久三级| 麻豆一区二区99久久久久| 久久本道久久综合伊人| av无码久久久久不卡免费网站| 久久久久久国产a免费观看不卡 | 久久99免费视频| 蜜桃麻豆WWW久久囤产精品| 国产成人99久久亚洲综合精品| 亚洲精品无码久久久久sm| 亚洲国产成人久久综合野外| 国产精品久久久天天影视香蕉| 国产精品久久久久9999高清| 久久亚洲日韩精品一区二区三区 | 中文字幕久久亚洲一区| 久久福利青草精品资源站| 精品少妇人妻av无码久久| 少妇人妻综合久久中文字幕| 久久激情亚洲精品无码?V| 国产精品欧美亚洲韩国日本久久| 久久精品国产福利国产秒| 久久国产高潮流白浆免费观看| 亚洲午夜精品久久久久久app| 久久91精品综合国产首页| 99久久精品免费看国产一区二区三区 | 亚洲国产另类久久久精品| 日韩AV无码久久一区二区| 久久久久高潮毛片免费全部播放|