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

PHP實現基于文本的莫斯電碼生成器

開發 后端
文本莫斯代碼生成器目前看起來還不錯。當然,我們還可以對它做很多的修改和完善,比如使用其他字符集、直接從文件中讀取文本、生成壓縮音頻等等。因為我們這個項目的目的是使其能夠在網絡上方便的使用,所以我們這個簡單的方案,已經達到我們的目的了。

介紹

我最近遇到一個基于輸入文本生成摩斯代碼音頻文件的需求。幾番搜索無果之后,我決定自己編寫一個生成器。

下載源代碼 – 2.63 KB

PHP內核探索之PHP中的哈希表

因為我希望通過web的方式訪問我的摩斯代碼音頻文件,所以我決定采用PHP作為我主要的編程語言。上面的截圖顯示了一個開始生成莫斯代碼的網頁。在下載的zip文件中,包含了用于提交文本的網頁以及用于生成和展現音頻文件的PHP源文件。如果你想測試PHP代碼,你需要將網頁和相關的PHP文件復制到啟用了PHP的服務器上。

對于許多人來說,莫斯代碼就像一些老電影中表現的那樣,就是一些“點”和“橫線”的序列,或者一連串的嗶嗶聲。顯然,如果你想用計算機代碼來生成莫斯代碼,這樣的了解是遠遠不夠的。這篇文章將會介紹生成莫斯代碼的要素,如何生成WAVE 格式的音頻文件,以及如何用PHP將莫斯代碼轉化成音頻文件。

莫斯代碼

莫斯代碼是一種文本編碼方式。它的優點是編碼方便,而且用人耳就能夠方便的解碼。本質上,是通過音頻(或者無線電頻)的開和關,從而形成或短或長的音頻脈沖,一般稱作點(dot)和線(dash),或者用無線電術語稱作“嘀”和“嗒”。用現代數字通信術語,莫斯代碼是一種振幅鍵控(amplitude shift keying ,ASK)。

在莫斯代碼中,字符(字母,數字,標點符號和特殊符號)被編碼成一個“嘀”和“嗒”的序列。所以為了把文本轉化成莫斯代碼,我們首先要確定如何來表示“嘀”和“嗒”。一個很顯然的選擇就是,用0表示“嘀”,用1表示“嗒”,或者反過來。不幸的是,莫斯代碼采用的是可變長編碼方案。所以我們也必須要使用一種可變長序列,或者采取一種方式,把數據打包成一種計算機內存通用的固定位寬(fixed bit-size)的格式。另外,需要特別注意的是,莫斯代碼并不區分字母大小寫,而且對一些特殊符號無法編碼。在我們這個實現中,未定義的字符和符號將會被忽略。

在這個項目中,內存占用并不是一個需要特別考慮的問題。所以,我們提出一個簡單的編碼方案,即用“0”來表示每個“嘀”,用“1”來表示每個“嗒”,并且把他們放在一個字符串關聯數組中。定義莫斯代碼編碼表的PHP代碼就像下面這樣:

 

  1. $CWCODE = array ('A'=>'01','B'=>'1000','C'=>'1010','D'=>'100','E'=>'0'
  2.      'F'=>'0010','G'=>'110','H'=>'0000','I'=>'00','J'=>'0111'
  3.      'K'=>'101','L'=>'0100','M'=>'11','N'=>'10''O'=>'111'
  4.      'P'=>'0110','Q'=>'1101','R'=>'010','S'=>'000','T'=>'1'
  5.      'U'=>'001','V'=>'0001','W'=>'011','X'=>'1001','Y'=>'1011'
  6.      'Z'=>'1100''0'=>'11111','1'=>'01111','2'=>'00111'
  7.      '3'=>'00011','4'=>'00001','5'=>'00000','6'=>'10000'
  8.      '7'=>'11000','8'=>'11100','9'=>'11110','.'=>'010101'
  9.      ','=>'110011','/'=>'10010','-'=>'10001','~'=>'01010'
  10.      '?'=>'001100','@'=>'00101'); 

需要注意的是,如果你特別在意內存占用的話,上面的代碼可以解釋為位(bit)。給每個代碼增加一個開始位,就可以形成一個位的模式,每個字符就可以用一個字節來儲存。同時,當解析最終編碼的時候,要刪除開始位左邊的位(bit),從而獲得真正的變長編碼。

盡管許多人沒有意識到,事實上“時間間隔”是定義莫斯代碼的主要因素,所以理解這一點是生成莫斯代碼的關鍵。所以,我們要做的第一件事,就是定義莫斯代碼的內部碼(即“嘀”和“嗒”)的時間間隔。為了方便起見,我們定義一個“嘀”的聲音長度為一個時間單位dt,“嘀”和“嗒”之間的間隔也是一個時間單位dt;定義一個“嗒”的長度為3個dt,字符(letters)之間的間隔也是3個dt;定義單詞(words)之間的間隔是7個dt。所以,總結起來,我們的時間間隔表就像下面這樣:

項目

時間長度

dt

“嘀”/“嗒”之間的間隔

dt

“嗒”

3*dt

字符之間的間隔

3*dt

單詞之間的間隔

7*dt

在莫斯代碼中,編碼聲音的“播放速度”通常用 單詞數/分鐘(WPM) 來表示。由于英文單詞有不同的長度,而且字符也有不同數量的“嘀”和“嗒”,所以,從WPM轉化成(音頻)數字采樣并不是看上去那樣簡單。在一份被國際組織采用的方案中,采用5個字符作為單詞的平均長度,同時,一個數字或標點符號被當做2個字符。這樣,平均一個單詞就是50個時間單位dt。這樣,如果你指定了WPM,那么我們總的播放時間就是 50 * WPM的時間單位/分鐘,每個“嘀”(即一個時間單位dt)的長度等于1.2/WPM秒。這樣,給出一個“嘀”的時間長度,其他元素的時間長度很容易就能夠計算出來。

你可能已經注意到,在上面顯示的網頁中,對于低于15WPM的選項,我們使用了“Farnsworth spacing”。那么這個“Farnsworth spacing”又是個什么鬼?

當報務員學習用耳朵來解碼莫斯代碼的時候,他就會意識到,當播放速度變化的時候,字符出現的節奏也會跟著變化。當播放速度低于10WPM的時候,他能夠從容的識別“嘀”和“嗒”,并且知道發送的哪個字符。但是當播放速度超過10WPM的時候,報務員的識別就會出錯,他識別出來的字符會多于實際的“嘀”和“嗒”。當一個學習的時候習慣低速莫斯代碼的人,在處理高速播放代碼的時候,就會出現問題。因為節奏變了,他潛意識的識別就會出錯。

為了解決這個問題,“Farnsworth spacing”就被發明出來了。本質上來講,字母和符號的播放速度依然采取高于15WPM的速度,同時,通過在字符之間插入更多的空格,來使整體的播放速度降低。這樣,報務員就能夠以一個合理的速度和節奏來識別每個字符,一旦所有的字符都學習完畢,就可以增加速度,而接收員只需要加快識別字符的速度就可以了。本質上來說,“Farnsworth spacing”這個技巧解決了節奏變化這個問題,使接收員能夠快速學習。

所以,在整個系統中,對于更低的播放速度,都統一成15WPM。相對應的,一個“嘀”的長度是0.08秒,但是字符之間和單詞之間的間隔就不再是3個dit或者7個dit,而是進行的調整以適應整體速度。

生成聲音

在PHP代碼中,一個字符(即前面數組的索引)代表一組由“嘀”、“嗒”和空白間隔組成的莫斯聲音。我們用數字采樣來組成音頻序列,并且將其寫入到文件中,同時加上適當的頭信息來將其定義成WAVE格式。

生成聲音的代碼其實相當簡單,你可以在項目中PHP文件中找到它們。我發現定義一個“數字振蕩器”相當方便。每調用一次osc(),它就會返回一個從正玄波產生的定時采樣。運用聲音采樣和聲頻規范,生成WAVE格式的音頻已經足夠了。在產生的正玄波中的-1到+1之間是被移動和調整過的,這樣聲音的字節數據可以用0到255來表示,同時128表示零振幅。

同時,在生成聲音方面我們還要考慮另外一個問題。一般來講,我們是通過正玄波的開關來生成莫斯代碼。但是你直接這樣來做的話,就會發現你生成的信號會占用非常大的帶寬。所以,通常無線電設備會對其加以修正,以減少帶寬占用。

在我們的項目中,也會做這樣的修正,只不過是用數字的方式。既然我們已經知道了一個最小聲音樣本“嘀”的時間長度,那么,可以證明,最小帶寬的聲幅發生在長度等于“嘀”的正玄波半周期。事實上,我們使用低通濾波器(low pass filter)來過濾音頻信號也能達到同樣的效果。不過,既然我們已經知道所有的信號字符,我們直接簡單的過濾一下每一個字符信號就可以了。

生成“嘀”、“嗒”和空白信號的PHP代碼就像下面這樣:

  1. while ($dt < $DitTime) { 
  2.   $x = Osc(); 
  3.   if ($dt < (0.5*$DitTime)) { 
  4.     // Generate the rising part of a dit and dah up to half the dit-time 
  5.     $x = $x*sin((M_PI/2.0)*$dt/(0.5*$DitTime)); 
  6.     $ditstr .= chr(floor(120*$x+128)); 
  7.     $dahstr .= chr(floor(120*$x+128)); 
  8.     } 
  9.   else if ($dt > (0.5*$DitTime)) { 
  10.     // For a dah, the second part of the dit-time is constant amplitude 
  11.     $dahstr .= chr(floor(120*$x+128)); 
  12.     // For a dit, the second half decays with a sine shape 
  13.     $x = $x*sin((M_PI/2.0)*($DitTime-$dt)/(0.5*$DitTime)); 
  14.     $ditstr .= chr(floor(120*$x+128)); 
  15.     } 
  16.   else { 
  17.     $ditstr .= chr(floor(120*$x+128)); 
  18.     $dahstr .= chr(floor(120*$x+128)); 
  19.     } 
  20.   // a space has an amplitude of 0 shifted to 128 
  21.   $spcstr .= chr(128); 
  22.   $dt += $sampleDT; 
  23.   } 
  24. // At this point the dit sound has been generated 
  25. // For another dit-time unit the dah sound has a constant amplitude 
  26. $dt = 0
  27. while ($dt < $DitTime) { 
  28.   $x = Osc(); 
  29.   $dahstr .= chr(floor(120*$x+128)); 
  30.   $dt += $sampleDT; 
  31.   } 
  32. // Finally during the 3rd dit-time, the dah sound must be completed 
  33. // and decay during the final half dit-time 
  34. $dt = 0
  35. while ($dt < $DitTime) { 
  36.   $x = Osc(); 
  37.   if ($dt > (0.5*$DitTime)) { 
  38.     $x = $x*sin((M_PI/2.0)*($DitTime-$dt)/(0.5*$DitTime)); 
  39.     $dahstr .= chr(floor(120*$x+128)); 
  40.     } 
  41.   else { 
  42.     $dahstr .= chr(floor(120*$x+128)); 
  43.     } 
  44.   $dt += $sampleDT; 
  45.   } 

WAVE格式的文件

WAVE是一種通用的音頻格式。從最簡單的形式來看,WAVE文件通過在頭部包含一個整數序列來表示指定采樣率的音頻振幅。關于WAVE文件的詳細信息請查看這里Audio File Format Specifications website。對于產生莫斯代碼,我們并不需要用到WAVE格式的所有參數選項,僅僅需要一個8位的單聲道就可以了,所以,so easy。需要注意的是,多字節數據需要采用低位優先(little-endian)的字節順序。WAVE文件使用一種由叫做“塊(chunks)”的記錄組成的RIFF格式。

WAVE文件由一個ASCII標識符RIFF開始,緊跟著一個4字節的“塊”,然后是一個包含ASCII字符WAVE的頭信息,最后是定義格式的數據和聲音數據。

在我們的程序中,第一個“塊”包含了一個格式說明符,它由ASCII字符fmt和一個4倍字節的“塊”。在這里,由于我使用的是普通脈沖編碼調制(plain vanilla PCM)格式,所以每個“塊”都是16字節。然后,我們還需要這些數據:聲道數、聲音采樣/秒、平均字節/秒、一個區塊(block)對齊指示器、位(bit)/聲音采樣。另外,由于我們不需要高質量立體聲,我們只采用單聲道,我們使用 11050采樣/秒(標準的CD質量音頻的采樣率是 44200采樣/秒)的采樣率來生成聲音,并且用8位(bit)保存。

最后,真實的音頻數據儲存在接下來的“塊”中。其中包含ASCII字符data,一個4字節的“塊”,最后是由字節序列(因為我們采用的是8位(bit)/采樣)組成的真實音頻數據。

在程序中,由8位音頻振幅序列組成的聲音保存在變量$soundstr中。一旦音頻數據生成完畢,就可以計算出所有的“塊”大小,然后就可以把它們合并在一起寫入磁盤文件中。下面的代碼展示了如何生成頭信息和音頻“塊”。需要注意的是,$riffstr表示RIFF頭,$fmtstr表示“塊”格式,$soundstr表示音頻數據“塊”。

  1. $riffstr = 'RIFF'.$NSizeStr.'WAVE'
  2. $x = SAMPLERATE; 
  3. $SampRateStr = ''
  4. for ($i=0; $i<4; $i++) { 
  5.   $SampRateStr .= chr($x % 256); 
  6.   $x = floor($x/256); 
  7.   } 
  8. $fmtstr = 'fmt '.chr(16).chr(0).chr(0).chr(0).chr(1).chr(0).chr(1).chr(0
  9.           .$SampRateStr.$SampRateStr.chr(1).chr(0).chr(8).chr(0); 
  10. $x = $n; 
  11. $NSampStr = ''
  12. for ($i=0; $i<4; $i++) { 
  13.   $NSampStr .= chr($x % 256); 
  14.   $x = floor($x/256); 
  15.   } 
  16. $soundstr = 'data'.$NSampStr.$soundstr; 

總結和評論

我們的文本莫斯代碼生成器目前看起來還不錯。當然,我們還可以對它做很多的修改和完善,比如使用其他字符集、直接從文件中讀取文本、生成壓縮音頻等等。因為我們這個項目的目的是使其能夠在網絡上方便的使用,所以我們這個簡單的方案,已經達到我們的目的了。

當然,一如既往的,希望大家對這些簡單粗暴的代碼提出建議。這些年來雖然一直有人在教我,但我還是缺乏莫斯代碼相關背景知識,所以,如果出現任何的錯誤或遺漏都算是我的錯。

責任編輯:張燕妮 來源: 碼農網
相關推薦

2016-01-08 10:55:31

PHP莫斯電碼生成器

2024-01-26 08:28:41

工單號生成器場景

2024-02-23 15:53:13

OpenAISora人工智能

2017-03-20 17:49:21

Java Web模板代碼

2022-11-21 17:44:03

機器學習文本生成器自然語言

2017-09-06 09:26:03

Python生成器協程

2010-09-07 16:31:17

SQL語句insert

2011-12-23 13:42:05

JavaScript

2021-04-22 21:15:38

Generator函數生成器

2017-07-01 16:02:39

分布式ID生成器

2025-01-23 08:36:27

CSS開發工具

2015-08-25 11:07:58

2023-05-04 16:24:10

人工智能圖像生成器

2023-02-07 16:11:41

2022-07-25 10:27:36

背景生成器工具前端

2024-11-01 15:51:06

2023-05-17 16:02:00

CSS工具代碼生成器

2021-07-23 11:24:54

Create Inc開源G代碼生成器

2024-08-19 00:00:00

表單生成器開發開源

2021-12-04 22:07:44

Python
點贊
收藏

51CTO技術棧公眾號

国产午夜福利100集发布| 狠狠久久综合婷婷不卡| 日韩在线一卡二卡| 国产视频网站一区二区三区| 亚洲一区二区成人在线观看| 久久久人人爽| 国产乱码精品一区二区三区精东| 精品白丝av| 在线观看欧美视频| 动漫美女无遮挡免费| 亚洲www.| 亚洲国产欧美在线| 色吧亚洲视频| 四季av日韩精品一区| 免费xxxx性欧美18vr| 性欧美暴力猛交69hd| 天天操天天舔天天射| 99ri日韩精品视频| 欧美在线观看视频一区二区| 妞干网视频在线观看| 国产二区在线播放| 成人免费视频app| 国产欧美日韩中文字幕| 久久露脸国语精品国产91| 99久久综合| 亚洲免费电影一区| 久久久久中文字幕亚洲精品| 播放一区二区| 精品国产91乱高清在线观看| 少妇高潮大叫好爽喷水| www视频在线观看免费| 99精品一区二区| 91色p视频在线| 中文字幕精品无码亚| 国产日韩精品视频一区二区三区 | 不卡中文字幕在线观看| 午夜影院一区| 午夜精品福利一区二区三区av | 不卡一区二区在线观看| 一区二区网站| 3atv一区二区三区| 一女二男3p波多野结衣| 国模视频一区| 日韩欧美主播在线| 日本欧美黄色片| h片在线免费| 日韩一区欧美小说| 亚洲一区二区精品在线观看| 美州a亚洲一视本频v色道| 99re视频精品| 国产在线一区二区三区播放| 亚洲乱码精品久久久久..| 极品销魂美女一区二区三区| 国产一区视频在线| 中文字幕+乱码+中文| 丝袜亚洲另类欧美| 国产成人福利视频| 免费无码国产精品| 日韩国产精品久久久久久亚洲| 欧美一级免费看| 日日骚av一区二区| 日日骚欧美日韩| 国产精品美女久久| 亚洲综合精品视频| 国产精品一区二区在线观看网站| 成人在线小视频| 国产乱码精品一区二三区蜜臂| 国内精品久久久久影院一蜜桃| 国产精品网站大全| 国产又大又黄的视频| 韩国三级中文字幕hd久久精品| 国产欧美亚洲精品| 99久久久国产精品无码免费| 国产精品一区二区视频| 波多野结衣精品久久| 人成网站在线观看| 久久免费看少妇高潮| 日韩亚洲视频在线| 欧美精品hd| 亚洲伊人伊色伊影伊综合网| 少妇高潮毛片色欲ava片| 一区二区电影免费观看| 欧美在线观看一区| 一起草最新网址| 外国成人在线视频| 中文字幕国内精品| 美国黄色小视频| 国产日韩免费| 国产欧美在线看| 亚洲精品一级片| 国产亚洲综合在线| 亚洲成人动漫在线| 在线免费看h| 7777精品伊人久久久大香线蕉超级流畅| 北条麻妃亚洲一区| 蜜桃成人av| 久久香蕉频线观| 天天爽夜夜爽夜夜爽精品| 免费av成人在线| 国产精品区一区二区三含羞草| 九色视频在线播放| 亚洲欧美一区二区三区极速播放| 一区二区传媒有限公司| 亚洲人成网站在线在线观看| 亚洲国内精品在线| 永久免费看mv网站入口| 99综合精品| 成人字幕网zmw| 国产在线视频福利| 亚洲第一综合色| 中文字幕 91| 日韩啪啪网站| 久久91精品国产91久久跳| 久久久久在线视频| 懂色av噜噜一区二区三区av| 水蜜桃一区二区| 成人观看网址| 日韩一区二区三区精品视频 | 国产毛片一区二区三区| 色综合色综合久久综合频道88| 无码人妻精品一区二区50| 成人av在线影院| 天天在线免费视频| 开心久久婷婷综合中文字幕 | www.在线播放| 狠狠久久亚洲欧美专区| 性生交大片免费看l| 999精品在线| 国产精品盗摄久久久| 动漫av一区二区三区| 自拍av一区二区三区| 午夜dv内射一区二区| 日韩在线麻豆| 亚州国产精品久久久| 亚洲国产精品欧美久久 | 免费在线看黄网址| 狠狠色丁香婷婷综合| 亚洲欧美日韩不卡一区二区三区| 自拍一区在线观看| 日韩av网址在线观看| 国产网址在线观看| 成人午夜精品一区二区三区| 日韩中文字幕在线不卡| 日本在线一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 一区二区精品视频在线观看| 亚洲国产成人在线| 自拍偷拍 国产| 欧美人妖在线| 日韩av片电影专区| 国内精品一区视频| 欧美图区在线视频| 大吊一区二区三区| 久久 天天综合| 最新视频 - x88av| 国产成人久久精品一区二区三区| 色噜噜国产精品视频一区二区| 国模私拍一区二区| 国产精品毛片久久久久久久| 一区二区久久精品| 欧美精品入口| 国产视频99| 都市激情亚洲一区| 色哟哟入口国产精品| 国产麻豆91视频| 亚洲一二三区视频在线观看| 星空大象在线观看免费播放| 国产日韩欧美高清免费| 日韩av在线电影观看| 日韩有码欧美| 欧美精品一区三区| 欧美一级在线免费观看| 婷婷丁香久久五月婷婷| a级大片在线观看| 免费的成人av| 2022中文字幕| 日韩mv欧美mv国产网站| 国产精品国模在线| а天堂中文在线官网| 亚洲国产91色在线| 国产伦精品一区二区三区视频网站| 国产日韩成人精品| 久久人人爽人人片| 国产亚洲成人一区| 亚洲日本无吗高清不卡| 9l视频自拍九色9l视频成人| 日本精品免费观看| 激情影院在线观看| 日韩成人中文字幕| 亚洲在线免费观看视频| 亚洲成a人v欧美综合天堂| 久久成人激情视频| 国产成人综合亚洲91猫咪| 欧美日韩第二页| 亚洲精品99| 欧美亚洲免费高清在线观看 | 欧美日韩高清不卡| 五月天婷婷丁香| 国产精品午夜在线观看| 中文字幕乱视频| 每日更新成人在线视频| 91美女在线观看| 美女脱光内衣内裤视频久久网站 | 亚洲第一福利在线观看| 俺去啦;欧美日韩| 国产精品高潮视频| 成人免费在线视频网址| 欧美亚韩一区二区三区| 国产精品乱子久久久久| 国产精品一级无码| 美日韩一区二区三区| 黄色一级片在线看| 亚洲91视频| 日韩电影在线播放| 精品三级在线观看视频| 91免费视频国产| 日本欧美一区| 97成人精品视频在线观看| 1区2区在线观看| 最近2019年中文视频免费在线观看| 亚洲精品.www| 91精品国产欧美一区二区18 | 在线播放av网址| 蜜桃av一区二区| 日韩福利视频在线| 国产精品美女| 精品视频在线观看一区| 综合激情婷婷| youjizz.com亚洲| 日本高清免费电影一区| 欧美一区1区三区3区公司| 精品精品国产三级a∨在线| av一区二区三区免费| 韩国一区二区三区视频| 国产精品久久久久久久一区探花| 日韩深夜视频| 国内成人精品一区| 俄罗斯一级**毛片在线播放| 萌白酱国产一区二区| 麻豆影视国产在线观看| 最新91在线视频| 岛国视频免费在线观看| 亚洲人成在线观看网站高清| 色就是色亚洲色图| 日韩精品www| 少妇高潮久久久| 日韩成人免费视频| 亚州av在线播放| 精品亚洲一区二区三区| 免费动漫网站在线观看| 亚洲欧美日韩中文视频| 国产免费av高清在线| 亚洲午夜女主播在线直播| 国产色a在线| 国产一区二区三区18| lutube成人福利在线观看| 国产亚洲欧美aaaa| 天天综合视频在线观看| 久久精品视频亚洲| 羞羞的视频在线看| 午夜精品久久久久久久男人的天堂| 24小时免费看片在线观看| 韩国福利视频一区| 国产社区精品视频| 国产成人精品在线观看| 天堂久久午夜av| 国产伦精品免费视频| 国产免费区一区二区三视频免费| 91亚洲精品久久久| 国产三级精品三级在线观看国产| 牛人盗摄一区二区三区视频| 精品日本12videosex| 一区二区三区国| 午夜日韩视频| 日本韩国欧美在线观看| 丝袜美腿亚洲一区| 在线免费观看av网| 不卡视频在线看| 亚洲а∨天堂久久精品2021| 亚洲视频每日更新| 可以在线观看av的网站| 欧美性淫爽ww久久久久无| 国产伦精品一区二区三区四区| 精品国产乱码久久久久久老虎 | 成人的网站免费观看| 97超碰在线免费观看| 国产精品天美传媒| 激情五月少妇a| 一本色道久久综合狠狠躁的推荐| 亚洲自拍第二页| 亚洲国产天堂久久综合| 午夜伦理在线| 97超碰蝌蚪网人人做人人爽| 日韩第二十一页| 久久av一区二区| 婷婷亚洲综合| 黑森林福利视频导航| 国产毛片精品国产一区二区三区| theav精尽人亡av| 亚洲视频在线一区| chinese国产精品| 日韩欧美一区二区久久婷婷| 黄色视屏网站在线免费观看| 久久91亚洲精品中文字幕奶水 | 91亚洲一区精品| 亚洲天堂日韩在线| 成年人深夜视频| 美国av一区二区| www.88av| 一区二区三区四区乱视频| 久久久精品毛片| 亚洲国产成人精品女人久久久| 1769视频在线播放免费观看| 97在线视频国产| 亚洲日本va中文字幕| 亚洲看片网站| 久久av最新网址| caopor在线| 亚洲久本草在线中文字幕| 日韩乱码一区二区三区| 日韩精品黄色网| 国产色婷婷在线| 91av免费看| 一个色综合网| 亚洲精品午夜在线观看| 久久精品亚洲一区二区三区浴池| 国产在线综合网| 日韩视频一区二区三区| 毛片在线播放a| 国产精品一区电影| 不卡中文一二三区| 日韩av播放器| 国产性做久久久久久| 国产一级18片视频| 精品视频久久久久久| 成人一级福利| 黑人中文字幕一区二区三区| 亚洲黄页一区| 性色av蜜臀av浪潮av老女人| 亚洲中国最大av网站| www香蕉视频| 欧美美最猛性xxxxxx| 精品91福利视频| 狠狠精品干练久久久无码中文字幕 | 无码人妻丰满熟妇奶水区码| 亚洲国产毛片完整版| heyzo在线欧美播放| 国产精品免费看一区二区三区| 久久久精品一区二区| 成人国产一区| 日韩精品在在线一区二区中文| 欧美在线综合| 久久国产柳州莫菁门| 欧美在线一二三| av大片在线播放| 成人久久久久久久| 亚洲破处大片| 欧美13一14另类| 91成人国产综合久久精品| 日韩美女视频19| 91麻豆成人精品国产| 久久国产天堂福利天堂| 日韩精品三级| 国产婷婷一区二区三区| 91玉足脚交白嫩脚丫在线播放| 4438国产精品一区二区| 在线播放精品一区二区三区| 黄色精品视频网站| 粉嫩av一区二区三区天美传媒| 国产成a人无v码亚洲福利| 粉嫩aⅴ一区二区三区| 亚洲欧美中文日韩v在线观看| 欧美成人app| 亚洲乱码日产精品bd在线观看| 成人妖精视频yjsp地址| 中文字幕黄色片| 久久精品国产91精品亚洲| 五月亚洲婷婷| 日本三级免费观看| 国产精品灌醉下药二区| 超碰人人人人人人| 日本精品一区二区三区在线| 欧美电影免费| 日韩少妇一区二区| 欧美在线一区二区三区| 丝袜美腿av在线| 欧美日韩三区四区| 国产一区视频网站| 成人精品免费在线观看| xxx成人少妇69| 国产精品巨作av| 91人人澡人人爽人人精品| 一区二区三区日韩在线观看| 香蕉久久国产av一区二区| 国产精品欧美日韩久久| 国内在线观看一区二区三区| 亚洲女优在线观看| 精品国产一区二区在线观看| 91伊人久久| 可以在线看的av网站|