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

手把手教你使用Python第三方庫PyAudio打造一款錄音工具

開發 后端
音頻錄制與視頻錄制相似,也是以數據幀的方式錄制保存,這次使用強大的第三方包PyAudio和內置的wave模塊編寫主要部分代碼:pip install PyAudio

大家好,我是【🌑(這是月亮的背面)】。今天給大家分享Python使用PyAudio制作錄音工具:

最近有在使用屏幕錄制軟件錄制桌面,在用的過程中突發奇想,使用python能不能做屏幕錄制工具,也鍛煉下自己的動手能力。接下準備寫使用python如何做屏幕錄制工具的系列文章:

  • 錄制屏幕制作視頻
  • 錄制音頻
  • 合成視頻,音頻
  • 基于Pyqt5制作可視化窗口

大概上述四個部分,希望自己能夠盡快完善,上一篇文章利用opencv制作了屏幕錄制部分,接下繼續更新系列,使用python錄制音頻。

應用平臺

  • windows 10
  • python 3.7

音頻錄制部分

音頻錄制與視頻錄制相似,也是以數據幀的方式錄制保存,這次使用強大的第三方包PyAudio和內置的wave模塊編寫主要部分代碼:pip install PyAudio

如果出現安裝失敗,可點擊去此處下載對應.whl文件,cp37代表python3.7環境,64代表64位操作系統。假如不是下載對應的whl包會導致安裝失敗,下載完成后,cmd窗口下進入whl的所在目錄,使用pip install PyAudio-xx.whl即可完成安裝。

音頻錄制主要代碼:

  1. from pyaudio import PyAudio, paInt16, paContinue, paComplete 
  2.  
  3. # 設置固定參數 
  4. chunk = 1024  # 每個緩沖區的幀數 
  5. format_sample = paInt16  # 采樣位數 
  6. channels = 2  # 聲道:1,單聲道;2,雙聲道 
  7. fps = 44100  # 采樣頻率 
  8.  
  9. # 這里采用回調的方式錄制音頻 
  10. def callback(in_data, frame_count, time_info, status): 
  11.     """錄制回調函數""" 
  12.     wf.writeframes(in_data) 
  13.     if xx:  # 當某某條件滿足時 
  14.         return in_data, paContinue 
  15.     else
  16.         return in_data, paComplete 
  17.  
  18. # 實例化PyAudio 
  19. p = PyAudio() 
  20. stream = p.open(format=format_sample, 
  21.     channels=channels, 
  22.     rate=fps, 
  23.                 frames_per_buffer=chunk, 
  24.                 input=True
  25.                 input_device_index=None,  # 輸入設備索引, None為默認設備 
  26.                 stream_callback=callback   # 回調函數 
  27.                 ) 
  28. # 開始流錄制 
  29. stream.start_stream() 
  30. # 判斷流是否活躍 
  31. while stream.is_active(): 
  32.  time.sleep(0.1)    # 0.1為靈敏度 
  33. # 錄制完成,關閉流及實例 
  34. stream.stop_stream() 
  35. stream.close() 
  36. p.terminate() 

采取流式并用回調函數錄制,需要先定義保存音頻文件,用wave新建音頻二進制文件:

  1. import wave 
  2. wf = wave.open('test.wav''wb'
  3. wf.setnchannels(channels) 
  4. wf.setsampwidth(p.get_sample_size(format_sample)) 
  5. wf.setframerate(fps) 

為了后續代碼可以很好的與之結合復用,將上面的代碼包裝成類

  1. from pyaudio import PyAudio 
  2.  
  3. class AudioRecord(PyAudio): 
  4.  
  5.     def __init__(self,): 

源碼于文末補充。

音頻播放部分

播放部分代碼與錄制部分代碼相差不大,核心部分:

  1. wf = wave.open('test.wav''rb'
  2. def callback(in_data, frame_count, time_info, status): 
  3.  data = wf.readframes(frame_count) 
  4.  return data, paContinue 
  5.  
  6. stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), 
  7.     channels=wf.getnchannels(), 
  8.                 rate=wf.getframerate(), 
  9.     output=True
  10.     output_device_index=output_device_index,  # 輸入設備索引 
  11.     stream_callback=callback  # 輸出用回調函數 
  12.                 ) 
  13. stream.start_stream() 
  14. while stream.is_active(): 
  15.  time.sleep(0.1) 

目前暫時測試了.wav和.mp3格式可以正常錄制及播放,其它類型格式音頻可以自行調用代碼進行測試。

GUI窗口所需屬性值代碼部分

考慮到GUI窗口能較為人性化的輸出及輸入值,編寫該部分代碼,內容含音頻時長及獲取輸入設備及輸出設備。

  1. # 音頻時長 
  2. duration = wf.getnframes() / wf.getframerate() 
  1. # 獲取系統目前已安裝的輸入輸出設備 
  2. dev_info = self.get_device_info_by_index(i) 
  3. default_rate = int(dev_info['defaultSampleRate']) 
  4. if not dev_info['hostApi'and default_rate == fps and '映射器' not in dev_info['name']: 
  5.  if dev_info['maxInputChannels']: 
  6.   print('輸入設備:', dev_info['name']) 
  7.  elif dev_info['maxOutputChannels']: 
  8.   print('輸出設備:', dev_info['name']) 

pynput監聽鍵盤

在這部分代碼也暫時使用pynput監聽鍵盤來對錄音做中斷處理??梢哉{用上一篇文章中的鍵盤監聽代碼。

  1. def hotkey(self): 
  2.     """熱鍵監聽""" 
  3.     with keyboard.Listener(on_press=self.on_press) as listener: 
  4.         listener.join() 
  5.  
  6. def on_press(self, key): 
  7.     try: 
  8.         if key.char == 't':  # t鍵,錄制結束,保存音頻 
  9.             self.flag = True 
  10.         elif key.char == 'k':  # k鍵,錄制中止,刪除文件 
  11.             self.flag = True 
  12.             self.kill = True 
  13.     except Exception as e: 
  14.         print(e) 

功能與上一篇類似,不再贅述。

總結

大家好,我是【🌑(這是月亮的背面)】。以上就是使用PyAudio調用windows的音頻設備進行錄制及播放的內容了,這篇文章帶大家整體學習了使用類及其繼承相關知識,用法在這只是展示了冰山一角,還有更多的知識等待著我們一起去探索!

源碼:

  1. import wave 
  2. import time 
  3. from pathlib import Path 
  4. from threading import Thread 
  5. from pyaudio import PyAudio, paInt16, paContinue, paComplete 
  6. from pynput import keyboard  # pip install pynput 
  7.  
  8.  
  9. class AudioRecord(PyAudio): 
  10.  
  11.     def __init__(self, channels=2): 
  12.         super().__init__() 
  13.         self.chunk = 1024  # 每個緩沖區的幀數 
  14.         self.format_sample = paInt16  # 采樣位數 
  15.         self.channels = channels  # 聲道:1,單聲道;2,雙聲道 
  16.         self.fps = 44100  # 采樣頻率 
  17.         self.input_dict = None 
  18.         self.output_dict = None 
  19.         self.stream = None 
  20.         self.filename = '~test.wav' 
  21.         self.duration = 0   # 音頻時長 
  22.         self.flag = False 
  23.         self.kill = False 
  24.  
  25.     def __call__(self, filename): 
  26.         """重載文件名""" 
  27.         self.filename = filename 
  28.  
  29.     def callback_input(self, in_data, frame_count, time_info, status): 
  30.         """錄制回調函數""" 
  31.         self.wf.writeframes(in_data) 
  32.         if not self.flag: 
  33.             return in_data, paContinue 
  34.         else
  35.             return in_data, paComplete 
  36.  
  37.     def callback_output(self, in_data, frame_count, time_info, status): 
  38.         """播放回調函數""" 
  39.         data = self.wf.readframes(frame_count) 
  40.         return data, paContinue 
  41.  
  42.     def open_stream(self, name): 
  43.         """打開錄制流""" 
  44.         input_device_index = self.get_device_index(nameTrue) if name else None 
  45.         return self.open(format=self.format_sample, 
  46.                          channels=self.channels, 
  47.                          rate=self.fps, 
  48.                          frames_per_buffer=self.chunk, 
  49.                          input=True
  50.                          input_device_index=input_device_index,  # 輸入設備索引 
  51.                          stream_callback=self.callback_input 
  52.                          ) 
  53.  
  54.     def audio_record_run(self, name=None): 
  55.         """音頻錄制""" 
  56.         self.wf = self.save_audio_file(self.filename) 
  57.         self.stream = self.open_stream(name
  58.         self.stream.start_stream() 
  59.         while self.stream.is_active(): 
  60.             time.sleep(0.1) 
  61.         self.wf.close() 
  62.         if self.kill: 
  63.             Path(self.filename).unlink() 
  64.         self.duration = self.get_duration(self.wf) 
  65.         print(self.duration) 
  66.         self.terminate_run() 
  67.  
  68.     def run(self, filename=None, name=None, record=True): 
  69.         """音頻錄制線程""" 
  70.         thread_1 = Thread(target=self.hotkey, daemon=True
  71.         if record: 
  72.             # 錄制 
  73.             if filename: 
  74.                 self.filename = filename 
  75.             thread_2 = Thread(target=self.audio_record_run, args=(name,)) 
  76.         else
  77.             # 播放 
  78.             if not filename: 
  79.                 raise Exception('未輸入音頻文件名,不能播放,請輸入后再試!'
  80.             thread_2 = Thread(target=self.read_audio, args=(filename, name,)) 
  81.         thread_1.start() 
  82.         thread_2.start() 
  83.  
  84.     def read_audio(self, filename, name=None): 
  85.         """音頻播放""" 
  86.         output_device_index = self.get_device_index(nameFalse) if name else None 
  87.         with wave.open(filename, 'rb'as self.wf: 
  88.             self.duration = self.get_duration(self.wf) 
  89.             self.stream = self.open(format=self.get_format_from_width(self.wf.getsampwidth()), 
  90.                                     channels=self.wf.getnchannels(), 
  91.                                     rate=self.wf.getframerate(), 
  92.                                     output=True
  93.                                     output_device_index=output_device_index,  # 輸出設備索引 
  94.                                     stream_callback=self.callback_output 
  95.                                     ) 
  96.             self.stream.start_stream() 
  97.             while self.stream.is_active(): 
  98.                 time.sleep(0.1) 
  99.         print(self.duration) 
  100.         self.terminate_run() 
  101.  
  102.     @staticmethod 
  103.     def get_duration(wf): 
  104.         """獲取音頻時長""" 
  105.         return round(wf.getnframes() / wf.getframerate(), 2) 
  106.  
  107.     def get_in_out_devices(self): 
  108.         """獲取系統輸入輸出設備""" 
  109.         self.input_dict = {} 
  110.         self.output_dict = {} 
  111.         for i in range(self.get_device_count()): 
  112.             dev_info = self.get_device_info_by_index(i) 
  113.             default_rate = int(dev_info['defaultSampleRate']) 
  114.             if not dev_info['hostApi'and default_rate == self.fps and '映射器' not in dev_info['name']: 
  115.                 if dev_info['maxInputChannels']: 
  116.                     self.input_dict[dev_info['name']] = i 
  117.                 elif dev_info['maxOutputChannels']: 
  118.                     self.output_dict[dev_info['name']] = i 
  119.  
  120.     def get_device_index(self, name, input_in=True): 
  121.         """獲取選定設備索引""" 
  122.         if input_in and self.input_dict: 
  123.             return self.input_dict.get(name, -1) 
  124.         elif not input_in and self.output_dict: 
  125.             return self.output_dict.get(name, -1) 
  126.  
  127.     def save_audio_file(self, filename): 
  128.         """音頻文件保存""" 
  129.         wf = wave.open(filename, 'wb'
  130.         wf.setnchannels(self.channels) 
  131.         wf.setsampwidth(self.get_sample_size(self.format_sample)) 
  132.         wf.setframerate(self.fps) 
  133.         return wf 
  134.  
  135.     def terminate_run(self): 
  136.         """結束流錄制或流播放""" 
  137.         if self.stream: 
  138.             self.stream.stop_stream() 
  139.             self.stream.close() 
  140.         self.terminate() 
  141.  
  142.     def hotkey(self): 
  143.         """熱鍵監聽""" 
  144.         with keyboard.Listener(on_press=self.on_press) as listener: 
  145.             listener.join() 
  146.  
  147.     def on_press(self, key): 
  148.         try: 
  149.             if key.char == 't':  # t鍵,錄制結束,保存音頻 
  150.                 self.flag = True 
  151.             elif key.char == 'k':  # k鍵,錄制中止,刪除文件 
  152.                 self.flag = True 
  153.                 self.kill = True 
  154.         except Exception as e: 
  155.             print(e) 
  156.  
  157.  
  158. if __name__ == '__main__'
  159.     audio_record = AudioRecord() 
  160.     audio_record.get_in_out_devices() 
  161.     # 錄制 
  162.     print(audio_record.input_dict) 
  163.     audio_record.run('test.mp3'
  164.     # 播放 
  165.     print(audio_record.output_dict) 
  166.     audio_record.run('test.mp3', record=False

 小伙伴們,快快用實踐一下吧!

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2022-01-24 11:02:27

PySimpleGUPython計算器

2023-05-22 10:04:24

2021-02-01 08:41:06

Java考試系統

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2021-02-04 15:52:46

Java考試系統

2021-01-04 09:55:26

Java移動互聯網

2021-01-05 09:04:20

Javatxt文件

2021-06-10 07:49:28

Python詞云圖wordcloud

2025-05-07 00:31:30

2021-07-14 09:00:00

JavaFX開發應用

2010-05-25 11:09:31

SVN工具

2021-06-24 10:52:35

JDBC數據庫圖書管理系統

2014-07-22 10:56:45

Android Stu第三方類庫

2021-01-13 09:03:48

Java游戲函數

2021-01-10 08:14:01

Go語言TCP掃描器

2018-09-09 15:38:55

SD-WAN網絡WAN

2019-07-30 11:35:54

AndroidRetrofit
點贊
收藏

51CTO技術棧公眾號

久久av中文字幕片| 色偷偷综合网| 色综合天天综合给合国产| 美媛馆国产精品一区二区| 久久国产香蕉视频| 中文字幕日韩欧美精品高清在线| 337p日本欧洲亚洲大胆精品| 任你操这里只有精品| 免费黄网站在线播放| 国产激情精品久久久第一区二区| 欧洲美女免费图片一区| 波多野结衣喷潮| 精品丝袜久久| 欧美三级视频在线| 奇米影视亚洲色图| 日韩伦理在线电影| 26uuu色噜噜精品一区| 亚洲综合一区二区不卡| 波多野结衣家庭主妇| 亚洲午夜一级| 日韩视频欧美视频| 男女做爰猛烈刺激| 红杏一区二区三区| 69av一区二区三区| 国产一区亚洲二区三区| 欧美韩日亚洲| 中文字幕在线观看不卡视频| 欧洲在线视频一区| 深爱激情五月婷婷| 国产成人午夜99999| 91精品久久久久久久| 亚洲天堂视频网站| 亚洲国产清纯| 欧美二区乱c黑人| 中国毛片直接看| 成人同人动漫免费观看| 精品小视频在线| 野战少妇38p| 久久伊人影院| 欧美一区二区日韩一区二区| 艹b视频在线观看| 神马电影网我不卡| 欧美日韩亚洲一区二区三区| 国产精品久久中文字幕| 精品精品导航| 亚洲午夜视频在线| www.男人天堂网| 99热国产在线中文| 中文字幕一区二区在线播放| 亚洲 日韩 国产第一区| wwwww在线观看免费视频| 久久一区二区三区国产精品| 蜜桃av久久久亚洲精品| 四虎影院在线播放| 91亚洲永久精品| 精品无人区一区二区三区| 丁香六月天婷婷| 粉嫩av一区二区三区粉嫩| 91偷拍精品一区二区三区| 国产免费久久久| 国产伦精品一区二区三区视频青涩| 国产一区二区色| 国产精品欧美综合亚洲| 国产精品夜夜嗨| 97久久天天综合色天天综合色hd| 精品人妻一区二区三区蜜桃| 国产成人精品免费在线| 国产九色精品| 色视频在线观看免费| 久久午夜国产精品| 日韩啊v在线| 日本三级视频在线播放| 亚洲欧美福利一区二区| 岛国大片在线播放| 成人性生活视频| 欧美日韩在线直播| 欧美性受xxxx黒人xyx性爽| 2020最新国产精品| 日韩久久精品电影| 欧美激情亚洲色图| 1024精品久久久久久久久| 欧美疯狂做受xxxx高潮| 91九色丨porny丨肉丝| 日韩中文字幕一区二区三区| 国产区精品在线观看| www.av导航| 久久久久久久一区| 国产又黄又爽免费视频| caoporn视频在线| 欧洲av一区二区嗯嗯嗯啊| 精品亚洲视频在线| 国产亚洲成av人片在线观黄桃| 亚洲美女又黄又爽在线观看| 911国产在线| 亚洲欧洲日本mm| 国产精品美女久久久久久免费| 国产女人高潮时对白| 不卡免费追剧大全电视剧网站| 日本一区二区视频| 免费看电影在线| 色噜噜狠狠一区二区三区果冻| av在线网址导航| 亚洲第一论坛sis| 欧美伦理91i| jizz国产在线| fc2成人免费人成在线观看播放| 视频一区免费观看| 国产精品蜜臀| 在线播放欧美女士性生活| 成人在线视频免费播放| 小处雏高清一区二区三区| 2020久久国产精品| 国产熟女一区二区三区五月婷 | 91精品国产电影| 在线视频欧美亚洲| 99re热这里只有精品视频| ijzzijzzij亚洲大全| 欧美日韩免费看片| 亚洲电影中文字幕| 杨钰莹一级淫片aaaaaa播放| 视频一区在线视频| 美国av一区二区三区| 羞羞的视频在线观看| 欧美日韩国产123区| 中文字幕狠狠干| 一区视频在线看| 亚洲综合一区二区不卡| 免费大片在线观看www| 日韩欧美高清视频| 人妻 日韩 欧美 综合 制服| 综合国产精品| 91精品视频在线| 在线观看黄色av| 色欧美乱欧美15图片| 国产制服丝袜在线| 在线综合亚洲| 国产尤物91| 白浆视频在线观看| 亚洲成人网久久久| 免费在线观看国产精品| 国产精品一二三区| a级片一区二区| 秋霞影院一区| 欧美激情久久久| 黄色av中文字幕| 亚洲国产wwwccc36天堂| 国产51自产区| 国产精品美女久久久| 精品亚洲一区二区三区四区五区高| 精灵使的剑舞无删减版在线观看| 日韩欧美成人一区| 久草视频免费在线| 国产91精品一区二区麻豆网站 | 日韩中文欧美在线| 日韩av图片| 久久天堂影院| 超碰91人人草人人干| av官网在线观看| 一区二区三区四区五区视频在线观看| 亚洲 自拍 另类 欧美 丝袜| 欧美区国产区| 精品在线视频一区二区三区| 一区二区电影免费观看| 亚洲天堂男人的天堂| 中文字幕一区二区人妻| 亚洲日本青草视频在线怡红院| 精品人妻一区二区三| 黄色免费成人| 麻豆av一区| a成人v在线| 欧美成年人视频| 丰满人妻一区二区| 黑人巨大精品欧美一区二区三区| 色婷婷在线影院| 狠狠网亚洲精品| 日韩精品视频在线观看视频| 日韩福利视频一区| 国产精品啪视频| 午夜激情在线| 亚洲免费一在线| 一级α片免费看刺激高潮视频| 亚洲嫩草精品久久| 无码人妻aⅴ一区二区三区| 日韩激情av在线| 综合操久久久| 欧美三级午夜理伦三级在线观看 | 可以免费看的黄色网址| 97久久超碰| 国产激情综合五月久久| 少妇av在线| 亚洲性av网站| 亚洲精品97久久中文字幕无码| 一本高清dvd不卡在线观看| 91精品少妇一区二区三区蜜桃臀| 粉嫩一区二区三区性色av| 成人在线观看黄| 牛夜精品久久久久久久99黑人| 久久精品第九区免费观看| 天堂久久一区| 91po在线观看91精品国产性色| 女女色综合影院| 亚洲国产成人精品久久久国产成人一区 | 亚洲九九视频| 欧美日韩一区二区三区在线视频 | www日韩在线| 久久综合九色综合97_久久久| 日韩视频在线观看一区二区三区| 亚洲欧美日韩国产| 欧洲金发美女大战黑人| 精品久久影院| 精品无码久久久久久久动漫| 久久9999免费视频| 国产精品入口尤物| 中国字幕a在线看韩国电影| 美日韩丰满少妇在线观看| 春暖花开成人亚洲区| 亚洲精品国精品久久99热一 | 日韩成人av网址| 国产免费一区二区三区最新不卡| 色婷婷久久一区二区三区麻豆| 精品少妇久久久| 亚洲视频一区二区在线| 国产破处视频在线观看| 久久精品欧美一区二区三区不卡| 97久久夜色精品国产| 在线视频你懂得一区二区三区| 手机在线免费看片| 久久久久9999亚洲精品| 亚洲精品第二页| 国产91丝袜在线观看| 亚洲天堂一区二区在线观看| 免费在线观看日韩欧美| 欧美激情国产精品日韩| 国产欧美日韩综合一区在线播放 | 99久久99| 国产美女亚洲精品7777| 国产有码在线一区二区视频| 亚洲成人一区在线观看| 茄子视频成人在线| 日韩脚交footjobhd| 97久久伊人激情网| 91九色在线看| 午夜精品在线视频| av中文字幕在线看| 午夜精品一区二区三区视频免费看| 成人影院在线播放| 久久久久久成人精品| 国产三线在线| 91精品国产91久久| 水蜜桃在线视频| 国产91久久婷婷一区二区| 亚洲一级少妇| 欧美在线观看网站| 伊人久久高清| 国产日韩欧美视频| 精品视频一区二区三区| 99re视频在线播放| 红杏成人性视频免费看| 免费一区二区三区| 精品视频亚洲| 精品91一区二区三区| 欧美午夜一区| 国产91xxx| 天堂午夜影视日韩欧美一区二区| 青青草精品视频在线观看| 久久99热99| 成人做爰69片免费| 91农村精品一区二区在线| 国产人妻大战黑人20p| 亚洲欧洲性图库| 久久久久久久久久久网| 午夜精品久久久| 91porny九色| 91麻豆精品国产91久久久久久| 后进极品白嫩翘臀在线视频| 亚洲欧美www| 麻豆网站在线免费观看| 久久久久久久网站| 日韩av超清在线观看| 成人欧美在线观看| 美女视频亚洲色图| 色噜噜狠狠色综合网| 最新国产精品| 成年人免费在线播放| 激情五月播播久久久精品| 国产精久久久久| 国产亚洲成av人在线观看导航| 亚洲波多野结衣| 精品人伦一区二区三区蜜桃免费| 日本成人一级片| 精品成人a区在线观看| 成人18在线| 久久久久久久久中文字幕| 成人在线不卡| 国产欧美日韩综合一区在线观看| 欧美色蜜桃97| 极品美女扒开粉嫩小泬| 国精产品一区一区三区mba桃花 | 精品高清久久| 欧美激情亚洲天堂| 免费欧美在线视频| 人妻av一区二区| 亚洲三级电影网站| 日韩一级在线视频| 欧美mv和日韩mv国产网站| av女优在线| 欧洲美女免费图片一区| 亚洲高清在线一区| 亚洲精品一品区二品区三品区| 在线视频观看日韩| 亚洲成人手机在线观看| 国产亚洲va综合人人澡精品| 日韩精品在线不卡| 日韩视频在线你懂得| eeuss影院在线播放| 91爱视频在线| 国产成人一二片| 四虎永久免费网站| 久久精品国内一区二区三区| 亚洲精品国产熟女久久久| 亚洲1区2区3区视频| 国产成人精品一区二三区四区五区| 亚洲欧洲在线视频| 男人av在线播放| 国产一区二区不卡视频在线观看| 2023国产精品久久久精品双| 亚洲xxx在线观看| 欧美高清在线视频| 精品无码一区二区三区的天堂| 日韩高清a**址| 爱情岛亚洲播放路线| 5g影院天天爽成人免费下载| 国产韩日影视精品| 日韩欧美国产片| 国产精品久久久久久亚洲毛片| 国产成人无码专区| 精品在线观看国产| 亚洲优女在线| 欧美日韩在线高清| 日韩精品一级中文字幕精品视频免费观看 | 精品三级av| cao在线观看| youjizz久久| 国产免费av一区二区| 亚洲精品久久久久| 少妇视频在线观看| 欧美日本国产精品| 久久久久一区| 四季av中文字幕| 欧美精品乱码久久久久久 | 小说区图片区色综合区| 欧洲黄色一级视频| 久久伊人中文字幕| 中文字幕一区二区三区人妻四季| 最近中文字幕2019免费| **国产精品| 欧美视频在线第一页| 不卡一区二区中文字幕| 国产精品男女视频| 亚洲三级黄色在线观看| 国产精品原创视频| 女女百合国产免费网站| 高清不卡一区二区| 成人免费看片98欧美| 亚洲最新av网址| 99精品视频在线免费播放| 美女av免费观看| 91在线码无精品| 中文在线观看av| 久久99视频精品| 天天做夜夜做人人爱精品 | 成人福利片在线| 日日噜噜噜夜夜爽爽| 国产寡妇亲子伦一区二区| 中文字幕一区二区三区精品| 亚洲视频在线观看| 成人短视频软件网站大全app| 日韩在线视频在线| 久久影视一区二区| 国产精品探花视频| 午夜剧场成人观在线视频免费观看| 精品国产aⅴ| 超碰人人cao| 欧美特级www| 国产成人午夜| 久久久久久99| 狠狠狠色丁香婷婷综合激情| 日本一本高清视频| 中文字幕日韩欧美| 亚洲**毛片| 麻豆一区二区三区视频| 一区二区三区毛片| 国产对白叫床清晰在线播放| 99中文视频在线| 日本网站在线观看一区二区三区| 欧美成人综合色| 中文字幕欧美精品日韩中文字幕| 粉嫩久久久久久久极品| 欧美美女一级片| 色哟哟欧美精品|