国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

用Python寫了一款炫酷音樂播放器,想聽啥隨便搜!

共 25544字,需瀏覽 52分鐘

 ·

2021-08-03 11:11

本文鏈接:

https://blog.csdn.net/hhladminhhl/article/details/118915410


前言

晚上坐在電腦面前,想著一邊擼代碼,一邊聽音樂。搜了搜自己想聽的歌,奈何好多歌曲都提示需要版權(quán),無法播放!

沒辦法,想聽歌還是得靠自己解決!今天就一起用python自制一款炫酷的音樂播放器吧~

首先一起來看看最終實現(xiàn)的音樂播放器效果:

e6221c725a90148f853db23cba6b7bd5.webp
下面,我們開始介紹這個音樂播放器的制作過程。


一、核心功能設(shè)計

總體來說,我們首先需要設(shè)計UI界面,對播放器的畫面布局進行排版設(shè)計;其次我們的這款音樂播放器的主要功能包括根據(jù)關(guān)鍵字搜索自動爬取音樂,獲取音樂列表,能進行音樂播放。

當(dāng)然還少不了一些附加功能,例如播放方式列表循環(huán)、單曲循環(huán)、隨機播放,當(dāng)前上一首下一首播放,播放暫停開始,音量增加減少,播放歷史查看等。

拆解需求,大致可以整理出核心功能如下:

UI設(shè)計排版布局

  • 頭部主要包括關(guān)鍵字搜索和音樂來源選擇,以及窗體最小化,最大化,關(guān)閉功能

  • 中間主體包含左右兩側(cè),左側(cè)用來顯示播放音樂封面圖,右側(cè)用來進行音樂列表顯示

  • 底部主要來顯示當(dāng)前播放音樂,播放進度條,音量控制,上一首/下一首,暫停/開始,播放方式等附加功能


關(guān)鍵字音樂列表爬蟲

  • 通過輸入的搜索關(guān)鍵字和選擇的音樂來源,自動爬取對應(yīng)的音樂數(shù)據(jù)

  • 將爬取獲取的音樂名進行列表顯示,顯示在中間主體搜索頁


音樂播放

  • 音樂列表中我們需要雙擊某一首歌,對爬取的歌曲封面圖和歌曲進行下載

  • 下載成功,對音樂文件根據(jù)播放進度條進行播放


附加功能

  • 播放音樂時,我們還需要有播放暫停和啟動功能

  • 音量控制提高或者降低

  • 當(dāng)前播放歌曲上一首、下一首

  • 音樂列表播放方式,列表循環(huán)、單曲循環(huán)、隨機播放


二、實現(xiàn)步驟

1. UI設(shè)計排版布局

基于功能點,我們首先考慮進行簡單的UI布局設(shè)計,這里我們使用的是pyqt5。核心設(shè)計代碼如下:

def init_ui(self):    global type    self.setFixedSize(1025, 750)    self.main_widget = QWidget()  # 創(chuàng)建窗口主部件    self.main_layout = QGridLayout()  # 創(chuàng)建主部件的網(wǎng)格布局    self.main_widget.setLayout(self.main_layout)  # 設(shè)置窗口主部件布局為網(wǎng)格布局
self.close_widget = QWidget() # 創(chuàng)建關(guān)閉側(cè)部件 self.close_widget.setObjectName('close_widget') self.close_layout = QGridLayout() # 創(chuàng)建左側(cè)部件的網(wǎng)格布局層 self.close_widget.setLayout(self.close_layout) # 設(shè)置左側(cè)部件布局為網(wǎng)格
self.left_widget = QWidget() # 創(chuàng)建左邊側(cè)部件 self.left_widget.setObjectName('left_widget') self.left_layout = QGridLayout() # 創(chuàng)建左側(cè)部件的網(wǎng)格布局層 self.left_widget.setLayout(self.left_layout) # 設(shè)置左側(cè)部件布局為網(wǎng)格
self.right_widget = QWidget() # 創(chuàng)建右側(cè)部件 self.right_widget.setObjectName('right_widget') self.right_layout = QGridLayout() self.right_widget.setLayout(self.right_layout) # 設(shè)置右側(cè)部件布局為網(wǎng)格
self.down_widget = QWidget() # 創(chuàng)建下面部件 self.down_widget.setObjectName('down_widget') self.down_layout = QGridLayout() self.down_widget.setLayout(self.down_layout) # 設(shè)置下側(cè)部件布局為網(wǎng)格
self.up_widget = QWidget() # 創(chuàng)建下面部件 self.up_widget.setObjectName('up_widget') self.up_layout = QGridLayout() self.up_widget.setLayout(self.up_layout) # 設(shè)置下側(cè)部件布局為網(wǎng)格
self.label = QLabel(self) self.label.setText("還沒有播放歌曲呢╰(*°▽°*)╯") self.label.setStyleSheet("color:white") self.label.setMaximumSize(310, 20)
self.main_layout.addWidget(self.up_widget, 0, 0, 1, 115)
self.main_layout.addWidget(self.left_widget, 1, 0, 90, 25) self.main_layout.addWidget(self.right_widget, 1, 25, 90, 90) # 22右側(cè)部件在第0行第3列,占8行9列 self.main_layout.addWidget(self.down_widget, 100, 0, 10, 115) self.main_layout.addWidget(self.close_widget, 0, 110, 1, 5) # 左側(cè)部件在第0行第0列,占1行3列
self.down_layout.addWidget(self.label, 1, 0, 1, 1) self.setCentralWidget(self.main_widget) # 設(shè)置窗口主部件
self.tabWidget = QTabWidget(self) self.tabWidget.setGeometry(QRect(33, 20, 716, 471)) self.tab = QWidget() self.tab.setObjectName("tab") self.tab_layout = QGridLayout() self.tab.setLayout(self.tab_layout) self.listwidget = QListWidget(self.tab) self.listwidget.doubleClicked.connect(lambda: self.change_func(self.listwidget)) self.listwidget.setContextMenuPolicy(Qt.CustomContextMenu) self.listwidget.customContextMenuRequested[QPoint].connect(self.myListWidgetContext) self.listwidget.setObjectName("listWidget") self.tab_layout.addWidget(self.listwidget, 0, 0, 1, 1) self.tabWidget.addTab(self.tab, " 搜索頁 ")
self.tab2 = QWidget() self.tab2.setObjectName("tab") self.tab2_layout = QGridLayout() self.tab2.setLayout(self.tab2_layout) self.listwidget2 = QListWidget(self.tab2) self.listwidget2.doubleClicked.connect(lambda: self.change_funcse(self.listwidget2)) self.listwidget2.setContextMenuPolicy(Qt.CustomContextMenu) self.listwidget2.customContextMenuRequested[QPoint].connect(self.myListWidgetContext2) self.listwidget2.setObjectName("listWidget2") self.listwidget2.setContextMenuPolicy(3) self.tab2_layout.addWidget(self.listwidget2, 0, 0, 1, 1) self.tabWidget.addTab(self.tab2, " 最近播放 ")
self.right_layout.addWidget(self.tabWidget, 3, 0, 100, 90)
self.left_close = QPushButton("") # 關(guān)閉按鈕 self.left_close.clicked.connect(self.close) self.left_visit = QPushButton("") # 空白按鈕 self.left_visit.clicked.connect(self.big) self.left_mini = QPushButton("") # 最小化按鈕 self.left_mini.clicked.connect(self.mini) self.close_layout.addWidget(self.left_mini, 0, 0, 1, 1) self.close_layout.addWidget(self.left_close, 0, 2, 1, 1) self.close_layout.addWidget(self.left_visit, 0, 1, 1, 1) self.left_close.setFixedSize(15, 15) # 設(shè)置關(guān)閉按鈕的大小 self.left_visit.setFixedSize(15, 15) # 設(shè)置按鈕大小 self.left_mini.setFixedSize(15, 15) # 設(shè)置最小化按鈕大小 self.left_close.setStyleSheet( '''QPushButton{background:#F76677;border-radius:5px;}QPushButton:hover{background:red;}''') self.left_visit.setStyleSheet( '''QPushButton{background:#F7D674;border-radius:5px;}QPushButton:hover{background:yellow;}''') self.left_mini.setStyleSheet( '''QPushButton{background:#6DDF6D;border-radius:5px;}QPushButton:hover{background:green;}''')

self.button_123 = QLabel("") self.left_layout.addWidget(self.button_123, 0, 2, 2, 2) self.label2 = QLabel(self) self.label2.setText("當(dāng)前為順序播放") self.label2.setStyleSheet("color:green") self.left_layout.addWidget(self.label2, 4, 0, 2, 1) self.button_1234 = QPushButton(icon('fa.download', color='#3FC89C', font=24), "") self.button_1234.clicked.connect(self.down) self.button_1234.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''') self.left_layout.addWidget(self.button_1234, 4, 2, 2, 1) self.button_1234 = QPushButton(icon('fa.heart', color='#3FC89C', font=24), "") self.button_1234.clicked.connect(self.lovesong) self.button_1234.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''') self.left_layout.addWidget(self.button_1234, 4, 3, 2, 2) self.label3 = QLabel(self) self.label3.setText("") self.label3.setStyleSheet("color:white") self.down_layout.addWidget(self.label3, 1, 3, 1, 1)
self.label7 = QLabel(self) self.label7.setText("") self.label7.setStyleSheet("color:white") self.label5 = QLabel(self) pix_img = QPixmap(str(data + '/backdown.png')) pix = pix_img.scaled(300, 300, Qt.KeepAspectRatio) self.label5.setPixmap(pix) # self.label5.setMaximumSize(1,1) self.left_layout.addWidget(self.label5, 2, 0, 2, 8) self.label6 = QLabel(self) self.label6.setText("") self.label6.setStyleSheet("color:#6DDF6D") self.left_layout.addWidget(self.label6, 2, 0, 2, 2)
self.label23 = QLabel(self) self.label23.setText(" ") self.label23.setStyleSheet("color:#6DDF6D") self.up_layout.addWidget(self.label23, 0, 100, 1, 20)
self.shuru = QLineEdit("") self.up_layout.addWidget(self.shuru, 0, 120, 1, 40) self.shuru.returnPressed.connect(self.correct)
self.label23 = QLabel(self) self.label23.setText(" 軟件") self.label23.setStyleSheet("color:#6DDF6D") self.up_layout.addWidget(self.label23, 0, 160, 1, 10)
self.label61 = QLabel(self) self.label61.setText("") self.label61.setStyleSheet("color:#6DDF6D") self.up_layout.addWidget(self.label61, 0, 200, 1, 50)
self.cb = QComboBox(self) self.cb.addItems(['網(wǎng)易云', '酷狗', 'qq']) self.up_layout.addWidget(self.cb, 0, 180, 1, 30) self.cb.currentIndexChanged[int].connect(self.print) self.button_1 = QPushButton(icon('fa.search', color='white'), "") self.button_1.clicked.connect(self.correct) self.button_1.setStyleSheet( ''' QPushButton{color:white;border-radius:5px;}QPushButton:hover{background:green;} ''') self.up_layout.addWidget(self.button_1, 0, 155, 1, 5)
self.right_process_bar = QProgressBar() # 播放進度部件 self.right_process_bar.setValue(49) self.right_process_bar.setFixedHeight(3) # 設(shè)置進度條高度 self.right_process_bar.setTextVisible(False) # 不顯示進度條文字 self.right_process_bar.setRange(0, 10000)
self.right_playconsole_widget = QWidget() # 播放控制部件 self.right_playconsole_layout = QGridLayout() # 播放控制部件網(wǎng)格布局層 self.right_playconsole_widget.setLayout(self.right_playconsole_layout)
self.console_button_1 = QPushButton(icon('fa.backward', color='#3FC89C'), "") self.console_button_1.clicked.connect(self.last) self.console_button_1.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_2 = QPushButton(icon('fa.forward', color='#3FC89C'), "") self.console_button_2.clicked.connect(self.nextion) self.console_button_2.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_3 = QPushButton(icon('fa.pause', color='#3FC89C', font=18), "") self.console_button_3.clicked.connect(self.pause) self.console_button_3.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_4 = QPushButton(icon('fa.volume-down', color='#3FC89C', font=18), "") self.console_button_4.clicked.connect(self.voicedown) self.console_button_4.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_5 = QPushButton(icon('fa.volume-up', color='#3FC89C', font=18), "") self.console_button_5.clicked.connect(self.voiceup) self.console_button_5.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_6 = QPushButton(icon('fa.align-center', color='#3FC89C', font=18), "") self.console_button_6.clicked.connect(self.playmode) self.console_button_6.setStyleSheet( '''QPushButton{background:#222225;border-radius:5px;}QPushButton:hover{background:#3684C8;}''')
self.console_button_3.setIconSize(QSize(30, 30))
self.right_playconsole_layout.addWidget(self.console_button_4, 0, 0)
self.right_playconsole_layout.addWidget(self.console_button_1, 0, 1) self.right_playconsole_layout.addWidget(self.console_button_3, 0, 2)
self.right_playconsole_layout.addWidget(self.console_button_2, 0, 3)
self.right_playconsole_layout.addWidget(self.console_button_5, 0, 4)
self.right_playconsole_layout.addWidget(self.console_button_6, 0, 5) self.right_playconsole_layout.setAlignment(Qt.AlignCenter) # 設(shè)置布局內(nèi)部件居中顯示 self.down_layout.addWidget(self.right_process_bar, 0, 0, 1, 4) # 第0行第0列,占8行3列 # 第0行第0列,占8行3列 self.down_layout.addWidget(self.label7, 1, 2, 1, 1) self.down_layout.addWidget(self.right_playconsole_widget, 1, 0, 1, 4) self.setWindowOpacity(0.95) # 設(shè)置窗口透明度 self.setAttribute(Qt.WA_TranslucentBackground) self.setWindowFlag(Qt.FramelessWindowHint) # 隱藏邊框????self.main_layout.setSpacing(0)


實現(xiàn)效果如下:
e4d477d37606033274c9af25a3eb31a5.webp

2. 關(guān)鍵字音樂列表爬蟲

我們可以根據(jù)輸入的關(guān)鍵字和音樂來源進行音樂爬取。這里我們需要通過多線程,將歌曲、歌手、歌曲url地址全都獲取。核心代碼如下:

def run(self):  qmut.lock()  try:      global paing      global stop      global lrcs      global urls      global songs      global name      global songid      global proxies      global pic      global tryed      paing = True
print('搜索軟件{}'.format(type)) print('開始搜索') name = name headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.110.430.128 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest'
} urls = [] songs = [] pic = [] lrcs = [] pages = 5 print(pages) for a in range(0, pages): if not stop:
urlss = ['http://music.9q4.cn/', 'https://defcon.cn/dmusic/','http://www.xmsj.org/', 'http://music.laomao.me/'] print (tryed) if tryed >3:
tryed = 0 url = urlss[tryed] else: url = urlss[tryed] print (urlss[tryed])
params = {'input': name, 'filter': 'name', 'type': type, 'page': a } if not stop: try: res = post(url, params, headers=headers, proxies=proxies) html = res.json()
for i in range(0, 10):
try: title = jsonpath(html, '$..title')[i] author = jsonpath(html, '$..author')[i] url1 = jsonpath(html, '$..url')[i] # 取下載網(wǎng)址 pick = jsonpath(html, '$..pic')[i] # 取歌詞 lrc = jsonpath(html, '$..lrc')[i] print(title, author) lrcs.append(lrc) urls.append(url1) pic.append(pick) songs.append(str(title) + ' - ' + str(author)) except: pass except: stop = False paing = False self.trigger.emit(str('finish')) else: self.trigger.emit(str('finish')) else: self.trigger.emit(str('clear')) pass
stop = False paing = False except: print('爬取歌曲出錯') self.trigger.emit(str('unfinish')) stop = False paing = False??qmut.unlock()

爬取代碼寫好了,我們還需要將爬取的這些音樂數(shù)據(jù)列表顯示到畫面中搜索頁面中。代碼如下:

def repite(self, name, type):    global tryed    global paing    global stop    self.listwidget.clear()    self.listwidget.addItem('搜索中')    self.listwidget.item(0).setForeground(Qt.white)    try:        if paing:            stop = True
self.listwidget.clear() self.work2 = PAThread() self.work2.start() self.work2.trigger.connect(self.seafinish) else: self.work2 = PAThread() self.work2.start() self.work2.trigger.connect(self.seafinish) except: tryed = tryed + 1 get_info('https://www.kuaidaili.com/free/inha') self.listwidget.addItem('貌似沒網(wǎng)了呀`(*>﹏<*)′,再試一遍吧~')????????self.listwidget.item(0).setForeground(Qt.white)

效果如下:
9b0287ecb060122b73e300949a4702e5.webp

3. 音樂播放

關(guān)鍵字搜索音樂列表完成之后,接下來我們需要實現(xiàn)音樂播放功能。首先需要從爬取的url下載待播放的歌曲,這里還是通過多線程進行。核心代碼如下:

class WorkThread(QThread):    trigger = pyqtSignal(str)
def __int__(self): # 初始化函數(shù) super(WorkThread, self).__init__() # 進度條 def cbk(self, a, b, c): '''''回調(diào)函數(shù) @a:已經(jīng)下載的數(shù)據(jù)塊 @b:數(shù)據(jù)塊的大小 @c:遠(yuǎn)程文件的大小 ''' per = 100.0 * a * b / c if per > 100: per = 100 # print ('%.2f%%' % per) self.trigger.emit(str('%.2f%%' % per))
def run(self): try: global number global path global downloading try: proxies = { 'http': 'http://124.72.109.183:8118', ' Shttp': 'http://49.85.1.79:31666'
} headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest'} try: try: try: aq = pic[num] aqq = aq.split('/')
except: pass
if type == 'kugou' and len(aqq) - 1 == 6: aqqe = str(aqq[0]) + str('//') + str(aqq[2]) + str('/') + str(aqq[3]) + str('/') + str( '400') + str('/') + str(aqq[5]) + str('/') + str(aqq[6]) print(aqqe) elif type == 'netease' and len(aqq) - 1 == 4: aqn = aq.split('?') b = '?param=500x500' aqqe = (str(aqn[0]) + str(b)) print(aqqe) else: aqqe = pic[num] req = get(aqqe)
checkfile = open(str(data + '/ls1.png'), 'w+b') for i in req.iter_content(100000): checkfile.write(i)
checkfile.close() lsfile = str(data + '/ls1.png') safile = str(data + '/back.png') draw(lsfile, safile) except: pass url1 = urls[num] print(url1) number = number + 1 path = str(data + '\{}.臨時文件'.format(number)) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.110.430.128 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest' } with get(url1, stream=True, headers=headers) as r, open(path, 'wb') as file: total_size = int(r.headers['content-length']) content_size = 0 for content in r.iter_content(chunk_size=1024): file.write(content) content_size += len(content) plan = (content_size / total_size) * 100 # print(int(plan)) develop = str(int(plan)) + str('%') self.trigger.emit(str(develop)) to = 'downloadmusic\{}.mp3'.format(songs[num]) makedirs('downloadmusic', exist_ok=True) except: pass try: copyfile(path, to) except: pass downloading = False self.trigger.emit(str('finish')) except:????????????????self.trigger.emit(str('nofinish'))

音樂播放模塊:

    def bofang(self, num, bo):        print('嘗試進行播放')        try:            import urllib            global pause            global songs            global music            global downloading            downloading = True            self.console_button_3.setIcon(icon('fa.pause', color='#F76677', font=18))            pause = False            try:                mixer.stop()            except:                pass            mixer.init()            try:                self.Timer = QTimer()                self.Timer.start(500)            except:                pass            try:                self.label.setText('正在尋找文件...')                self.work = WorkThread()                self.work.start()                self.work.trigger.connect(self.display)            except:                print('無法播放,歌曲下載錯誤')                downloading = False                pass        except:            sleep(0.1)            print('播放系統(tǒng)錯誤')            # self.next()            pass
def display(self, sd): global pause global songed global urled global lrcd global timenum if sd == 'finish': try: if bo == 'boing': self.label.setText(songs[num]) elif bo == 'boed': self.label.setText(songed[num]) elif bo == 'love': self.label.setText(loves[num]) try: pix_img = QPixmap(str(data + '/back.png')) pix = pix_img.scaled(300, 300, Qt.KeepAspectRatio) self.label5.setPixmap(pix) except: pix_img = QPixmap(str(data + '/backdown.png')) pix = pix_img.scaled(300, 300, Qt.KeepAspectRatio) self.label5.setPixmap(pix) print(str(data + '\{}.臨時文件'.format(number))) mixer.music.load(str(data + '\{}.臨時文件'.format(number))) # 載入音樂 mixer.music.play() self.console_button_3.setIcon(icon('fa.pause', color='#F76677', font=18)) pause = False try: mp3 = str(data + '\{}.臨時文件'.format(number)) xx = load(mp3) timenum = xx.info.time_secs global start start = True except: print('MP3錯誤,播放失敗')
if bo == 'boing': songed.append(songs[num]) urled.append(urls[num]) picd.append(pic[num]) lrcd.append(lrcs[num]) r = 0 self.listwidget2.clear() for i in songed: # self.listwidget.addItem(i)#將文件名添加到listWidget
self.listwidget2.addItem(i) self.listwidget2.item(r).setForeground(Qt.white) r = r + 1 else: pass # 播放音樂 except: pass elif sd == 'nofinish': self.label.setText('下載錯誤') elif sd == 'lrcfinish': r = 0 for i in lrct: if not i == '\r': r = r + 1 else: pass elif sd == 'lrcnofinish': pass else:????????????self.label.setText('加速下載中,已完成{}'.format(sd))


至此,我們的音樂播放器已經(jīng)可以正常播放音樂了。
0165b1a959214c6761bd1f11717e3f6f.webp

4. 附加功能

主要功能已經(jīng)完成了,下面我們還可以添加一些附加功能,例如播放方式列表循環(huán)、單曲循環(huán)、隨機播放,當(dāng)前上一首下一首播放,播放暫停開始,音量增加減少等等。

播放模式:

(1)隨機播放:

def shui(self):    global num    global songs    if bo == 'boing':        q = int(len(songs) - 1)        num = int(randint(1, q))    elif bo == 'love':        q = int(len(loves) - 1)        num = int(randint(1, q))    else:        q = int(len(songed) - 1)        num = int(randint(0, q))
try: print('隨機播放下一首') mixer.init() self.Timer = QTimer() self.Timer.start(500) # self.Timer.timeout.connect(self.timercontorl)#時間函數(shù),與下面的進度條和時間顯示有關(guān) if bo == 'boing': self.label.setText(songs[num]) elif bo == 'love': self.label.setText(loves[num]) else: self.label.setText(songed[num]) self.bofang(num, bo) # 播放音樂 except:????????pass

(2) 上一首、下一首:

def last(self):    global num    global songs    if num == 0:        print('冇')        num = len(songs) - 1    else:        num = num - 1    try:        self.bofang(num)        self.label.setText(songs[num])    except:        pass
#下一首def next(self): print ('nexting') global num global songs if num == len(songs) - 1: print('冇') num = 0 else: num = num + 1 try: self.label.setText(songs[num]) self.bofang(num) except: print ('next error')????????pass

(3)單曲循環(huán):

def always(self):    try:        if bo == 'boing':            self.label.setText(songs[num])        else:            self.label.setText(songed[num])        self.bofang(num, bo)  # 播放音樂
except:????????pass

(4) 播放模式選擇:

def playmode(self):    global play    try:        if play == 'shun':            play = 'shui'            print('切換到隨機播放')            self.label2.setText("當(dāng)前為隨機播放")            try:                self.console_button_6.setIcon(icon('fa.random', color='#3FC89C', font=18))                print('done')            except:                print('none')                pass            # self.left_shui.setText('切換為單曲循環(huán)')        elif play == 'shui':            play = 'always'            print('切換到單曲循環(huán)')            self.label2.setText("當(dāng)前為單曲循環(huán)")            try:                self.console_button_6.setIcon(icon('fa.retweet', color='#3FC89C', font=18))                print('done')            except:                print('none')
# self.left_shui.setText('切換為順序播放') elif play == 'always': play = 'shun' print('切換到順序播放') self.label2.setText("當(dāng)前為順序播放") try: self.console_button_6.setIcon(icon('fa.align-center', color='#3FC89C', font=18)) print('done') except: print('none')
# self.left_shui.setText('切換為隨機播放') except: print('模式選擇錯誤')????????pass

播放暫停/開始:

def pause(self):    global pause    if pause:        try:            mixer.music.unpause()        except:            pass        self.console_button_3.setIcon(icon('fa.pause', color='#3FC89C', font=18))        pause = False    else:        try:            mixer.music.pause()        except:            pass        self.console_button_3.setIcon(icon('fa.play', color='#F76677', font=18))????????pause?=?True

音量提高/降低:

def voiceup(self):    try:        print('音量加大')        global voice        voice += 0.1        if voice > 1:            voice = 1        mixer.music.set_volume(voice)        k = Decimal(voice).quantize(Decimal('0.00'))        self.label3.setText('音量:{}'.format(str(k * 100) + '%'))    except:        pass
def voicedown(self): try: print('音量減少') global voice voice -= 0.1 if voice < 0: voice = 0 mixer.music.set_volume(voice) k = Decimal(voice).quantize(Decimal('0.00')) self.label3.setText('音量:{}'.format(str(k * 100) + '%')) except:????????pass

至此,這款音樂播放器就基本完成啦~ 一起來看看效果吧!


三、結(jié)束語

當(dāng)然這款音樂播放器還有待完善的功能尚未完成:

  • 音樂本地下載保存

  • 播放本地音樂

  • 添加我喜愛的音樂功能

  • 歌詞播放

  • 音樂進度跳播

后面有時間這些功能也會繼續(xù)完善下!今天我們就到這里,明天繼續(xù)努力!


- EOF -

? 推薦閱讀:


點擊關(guān)注【python之禪】,提升Python技能??????

瀏覽 70
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产性爱自拍一下| 91国产精品视频在线| 美女天天操| 国产AⅤ爽aV久久久久成人| av网站免费看| 欧美亚洲综合在线| 中文在线无码| 三级毛片在线| 日韩不卡一区二区三区| 欧美日韩一级二级三级| 亚洲经典免费视频| 按摩性高湖婬AAA片A片中国| 国产老熟女高潮毛片A片仙踪林| 日韩中文字幕| 先锋AV资源| 五月丁香综合网| 男人天堂网在线| 一区二区三区在线免费观看| 亚洲色天堂网| 亚洲成人网在线观看| 狠狠狠狠狠狠狠| 在线久草| 9热精品| 国产97在线视频| 影音先锋男人网| 翔田千里无码一区| 天天干天天日天天干天天日| 亚洲精品无| 天天夜夜有| 手机在线一区| 成年人黄色视频免费观看| 国产女人18毛片水真多18 | 国产无码自拍| 婷婷欧美| 三级片在线观看视频| 99er热精品视频| 理论片熟女奶水哺乳| 五月激情六月丁香| 亚洲高清无码中文字幕| 91高潮| 老熟女一区二区三区| 亚洲欧美国产日韩字幕| 超级人人操| 躁BBB躁BBB躁BBBBB乃| AAAAA毛片| 奇米影视狠狠干| 中国黄色学生妹一级片| 超碰免费观看| 亚洲高清无码视频在线| AV在线影院| 淫色淫香综合网| 精品亚洲无码视频| 伊人春色av| 中文字幕第315页| 欧美XXX黑人XYX性爽| 先锋成人在线| 97视频在线观看免费| 国产成人精品免高潮在线人与禽一 | 国产精品久久久久国产A级| 大屌一区二区三区| 色射影院| 亚洲日韩网站在线观看| 99A片| 日韩A级视频| 日韩av成人| 婷婷V亚洲V丁香月天V日韩V| 躁BBB躁BBB躁BBBBBB日视频| 六十路老熟女码视频| 天堂网2018| 国产成人无码精免费视频| 日韩一级片在线| 91射区| 一级少女免费播放电视剧韩剧TV| 免费成人高清视频| 日韩一区在线播放| 国产区欧美去区在线| 天堂AV在线免费观看| 久在线视频| 亚洲AV无码久久精品色无码蜜桃 | 成人片无码| 国产玖玖| 国产成人无码区免费AV片在线| 青娱乐毛片| 久久久久久亚洲AV无码专区| 99啪啪| 欧美性爱一区| 日韩无码成人电影| 自拍偷拍免费| 毛片学生妹| AV电影在线免费观看| 国产精品福利在线播放| 一级黄色性爱视频| 天堂网AV在线| 九色PORNY蝌蚪自拍视频 | 强伦人妻一区二区三区视频| 天堂网婷婷| 日韩一级成人片| 成年人在线观看视频网站| 亚洲二级片| 五月丁香天堂网| 91综合视频| 欧美手机在线| 加勒比无码人妻| 特猛特黄AAAAAA片| 无码欧美精品一区二区| 伊人影院在线看| 91视频网站免费| 日韩无码视频网站| 小泬BBBBBB免费看| 韩国一级av| 大香蕉伊人在线观看| 午夜黄色| 国产免费黄色av| 亚洲日韩网站在线观看| 中文字幕第27页| 青青青亚州视频在线| 男人天堂新地址| 亚洲无码123| 香蕉网址| 怡红院AV| 亚洲蜜桃av一区| www插插| 国产无码做爱视频| 成人伊人电影| 99Re66精品免费视频| 天堂在线无码| 蜜桃久久99精品久久久酒店| 久久成人免费视频| 最新国产毛片| 六十路老熟女码视频| 国产熟妇码视频app| 免费的av网站| 久久久久99精品成人网站| 国产内射在线观看| 成人av黄色三级片在线观看| 中国人妻HDbute熟睡| 国产又爽又黄网站免费观看| 久久精品久久久久久久| 一道本无码一区| 91久久国产综合| 色网在线观看| 欧美精品无码久久久精品酒店 | 免费中文字幕av| 精品免费国产一区二区三区四区 | 久视频在线| 国产黄色大片| 亚洲欧美日韩不卡| 大香蕉亚洲在线| 日本中文字幕不卡| 国产又爽又黄免费视频免费| 国产综合久久| 国产精品无码毛片| 屁屁影院CCYYCOM发布地| 无码AV动漫| 国产欧美一区二区三区视频在线观看 | 天天插夜夜操| 亚洲AV无码乱码| 91黄色在线视频| 中文字幕乱码中文乱码图片| 中文字幕区| 一本道高清| 伊人毛片| 欧美精品一区二区三区蜜臀| 高清视频一区| 中文字幕无码日韩| 人妻熟女字幕一区二区| 国产精品9999久久久久仙踪林 | 国产精品一级a毛一级a| 女人一级A片色黄情免费| 熟女一区| 手机无码在线播放| 亚洲最新无码| 国产真实乱婬A片三区高清蜜臀| 国产成人视频在线| 成人黄色毛片视频| 国产三级黄色| 美女91视频网站| 亚洲无码电影在线| 毛片av在线| 天天狠狠操| 69色综合| 韩日一级片| 影音先锋男人网| 亚洲伊人大香蕉| 成人性爱在线| 狠狠狠狠狠| 日韩不卡高清在线观看视频 | 在线观看高清无码| 伊人色色| 日韩不卡AV| 色呦呦中文字幕| 日韩字幕久久| 国产香蕉AV| ThePorn-成人网站入口| 欧美熟妇精品一级A片视色| 国产又粗又长又硬黄色一级片| 超碰色| 河南熟妇搡BBBB搡BBBB| 日本黄色小视频| 免费18蜜桃久久19| 欧美69成人| 97香蕉网| 500部大龄熟乱4K视频| 亚洲日韩国产AV| 亚洲免费视频一区| 日本高潮视频| 激情男人网| 嫩BBB槡BBBB槡BBBB二一| 九九九在线视频| 亚洲成人A片| 特级特黄A级高潮播放| 成人做爰黄片视频免费| 国产剧情在线| 91麻豆大奶巨乳一区白虎| 日韩av综合| 亚洲中文综合| 影音先锋一区二区三区| 五月丁香婷婷激情综合| 午夜成人福利剧场| 丁香久久| 国产成人精品片| 亚洲精品免费在线观看| 亚洲AV高清无码| 中文字幕日本电影| 伊人婷婷大香蕉| 图片区小说区区亚洲五月| 欧美激情伊人久久五月天| 国产AV黄| 免费黄片视频在线观看| 少妇精品无码一区二区免费视频| 天堂国产一区二区三区| 91人人在线| 亚洲无码三级片| 特级西西人体www高清大胆| 国产日韩在线观看视频| 99久久精品国产毛片| PORNY九色视频9l自拍| 日韩性爱小视频| 国产成人秘一区二区三区东京热| 五月激情久久| 国产精品911| 亚洲激情四射| 在线不卡免费Av| 欧美一级免费A片| 五月婷久久| 日本三级片在线动| 精品码A片18| 午夜看黄片| 暴操美女网站| 我要操影院| 日韩综合一区| 中国老少配BBwBBwBBW| 四虎在线视频| 日韩三级视频| 日韩三级精品| 91丨国产丨精品丨丝袜| 日韩高清久久| 国产骚女| 日韩无码久久| AV中文无码| 蜜芽成人在线| brazzers疯狂作爱| 日韩少妇无码视频| 婷婷射| 久久久久久久AV| 91亚洲国产AⅤ精品一区二区| 欧美日韩国产不卡视频| 亚洲少妇熟女| 丁香五月av| 探花在线| 午夜无码影院| 亚洲高清无码免费在线观看| a毛片| 成人在线视频免费观看| 久久综合无码内射国产| 国产精品观看| 69av视频在线观看| 欧美久久视频| 亚洲中文字幕久久日| 成人精品一区二区三区无码视频| 国产AV一区二区三区四区| 人人爱人人操人人爽| 911精品人妻一区二区三区A片| 江苏妇搡BBBB搡BBBB-百度| AV天堂资源| 亚洲精品视频无码| 中文字幕在线观看网| 永久免费看片视频| av国产精品| 午夜福利91| 午夜撸一撸| 人人看人人摸人人草| 亚洲AV成人片无码网站| 国产精品1区2区3区| 91看片| a片在线免费| 国产亲子乱XXXXinin| 日本高清视频网站| 91成人看片| 偷偷撸在线| 午夜天堂精品久久久久9| 性欧美老妇bbwbbwbbw| 青青草在线观看视频| 国产精品99久久久久的广告情况| 四川BBB操BBB| 中文字幕亚洲一区| 人人人妻人人人操| 久久4| 3d动漫一区二区| 国产成人精品av| 国产又爽又黄A片| 中文字幕88页| 无码在线不卡| 午夜性爽视频男人的天堂| 日韩成人免费在线观看| 国产熟妇婬乱一区二区| 天美果冻麻豆国产一区| 亚洲视频福利| 日本在线观看| 刘玥精品国产一区二区三区| 99re在线观看| 五月天婷婷成人| 日韩操比| 3D动漫精品啪啪一区二区竹笋| 无码一级片| 婷婷五月天色播| 2025精品偷拍视频| 四川美人搡BBw搡BBw| 久久精品99| 狠狠地日| 成人免费视频在线观看| 国产av资源网| 68久久久| 日韩精品在线免费| 一级A片视频免费看| 国产欧美在线视频| 精品少妇3p| 北条麻妃被躁57分钟视频在线 | 日韩欧美人妻无码精品| 黄片视频免费在线观看| a片免费观看视频| 狠狠地操| 艹逼在线观看| 兔子先生和優奈玩游戲脫衣服,運氣報表優奈輸到脫精光 | 豆花成人社区,视频| 97伊人超碰| 亚洲小穴| 久久伊人中文字幕| 欧美性受XXXX黑人XYX性爽冫| 暴操美女网站| 伊人网大香| 精品国产一二三区| 人人操av| 狠狠插网站| 99这里只有精品| aaaaaa在线观看免费高清| 久色性爱视频| 五月天婷婷激情网| 91人兽| 国产激情福利| 亚洲天堂电影网| 日本不卡一区二区三区| 五月天福利影院| 色老板免费视频| 毛片A级| 91亚洲国产成人| 中文有码在线| 精品玖玖| 成人a毛片| 91麻豆精品在线观看| 亚洲在线免费观看| 欧洲成人午夜精品无码区久久| 中文大香蕉视频| 欧美一级婬片AAAA毛片| 在线一区视频| 无码一区二区三区免费| 久久人人超碰| 人人看人人搞人人摸| 无码777| 欧美+日产+中文| 内射免费看| 国产丰满乱子伦无码| 国精产品一区一区三区四区| 91精品国产综合久久久蜜臀主演| 午夜成人国产| 中国熟妇XXXX18| 久久国产亚洲| 色色色色色色色色欧美| 亚洲色小说| 97天天操| 男人先锋| 人人摸人人操人人射| 人人操人人爽人人爱| 精品综合网| 欧美一级黃色A片免费看蜜桃熟了 一级a一级a免费观看免免黄‘/ | 日韩精品无码av| 黄色一级片视频| 91久久久久久久18| 香蕉操逼小视频| 久久久久久穴| 亚洲日韩精品成人无码专区AV| 日韩视频免费观看| 求欧美精品网址| 大香蕉在线视频75| 操大香蕉| 精品国产va久久久久久久| 久久人精品| 成人操B| 天堂8在线视频| 99久热| 亚洲午夜在线观看| 色视频网| 亚洲AV无码乱码| 中文字幕+乱码+中文字幕电视剧| 日韩AⅤ无码一区二区三区| 影音先锋成人网| 毛片黄色视频| 人人妻人人玩澡人人爽| 久久高清无码视频| 天天看A片| 翔田千里53歳在线播放| 91无码在线观看| 中文字幕成人在线观看| 免费观看日韩无码视频| av在线精品| 熟女中文| 成人三级视频在线| 亚洲午夜AV久久乱码| 日皮视频在线| 久久久老熟女一区二区三区91 | 久久亭亭| 一级特黄A片| 中文字幕福利电影| 啪啪视频免费观看| 国产乱子伦一区二区三区免看| 伊人春色网| 亚洲AV男人天堂| 免费内射| 欧美一级AAA大片免费观看| 久操国产| 三上悠亚无码破解69XXX| 欧美一级特黄A片免费观看| 影音先锋一区二区| 国产三级国产三级国产| 日韩超清无码| 天天插在线视频| 久久男女| 日韩爆乳一区二区三区| 51精品国产午夜福利| 91牛| 超碰人人91| 色欲AV秘无码一区二区三区| 欧美日韩视频一区二区三区| 天天操天天干天天射| 欧美一本在线| 欧美日韩加勒比| 成人777| 婷婷丁香五月社区亚洲| 97久久综合| 久久精品禁一区二区三区四区五区 | 久久先锋| 成人精品一区二区三区视频| 国产精品A片守望| 韩日综合在线| 一区二区三区av| 成人无码三级| 蜜臀久久99精品久久久久久婷婷| 水蜜桃视频网站在线观看| 久久9热| 亚洲黄色影视| 中文字幕在线永久| 色五月婷婷丁香五月| 亚洲AV成人无码| 欧美丰满美乳XXⅩ高潮www| 人人干超碰| 操你啦青青草| 免费看操逼视频| A片在线观看免费| 影音先锋成人在线视频| 99久久综合九九| 狠狠网| 中文有码在线| 操逼毛片视频| 91新婚人妻偷拍| 91老熟女| 韩日一区| 成人性生活片| 日韩无码1| 国产人妻人伦精品一区| 日韩欧美高清视频| 免费黄片视频在线观看| 免费无码网站| 西西人体BBBBBB| 午夜福利高清在线观看| 不卡的av| 精品久久久国产| 国产亚洲精品成人a| 影音先锋AV成人| 成人无码免费毛片A片| 日韩在线精品| 国产成人高清视频| 国产综合无码| 色婷婷91| 中文字幕第4页| 91久久久久久久| 亚洲乱码中文字幕| 97资源在线视频| 99精品偷自拍| www.日韩| 欧美性猛交XXXX乱大交蜜桃| 国产五月| 国产亚洲成人综合| 丰满人妻一区二区三区精品高清| 一级无码专区| 天天视频黄| 丁香五月欧美激情| 99re6热在线精品视频| 97超碰自拍| 成人二区三区| 亚洲天堂影院| 国产精品国产精品国产专区不片 | 偷拍综合| 人人综合| 欧美日韩成人在线观看| 中文无码一区二区三区四区| 俺也来俺也去WWW色| 2019中文字幕在线免费观看| 久草小视频| 国产午夜无码视频在线观看| 成人免费A片喷| 日韩小视频+国产| 久久露脸国语精品国产91| 2025最新国产精品每日更新| 婷婷五月激情网| 337p大胆色噜噜噜噜噜| 欧美成人福利| 91大香蕉伊人| 日韩加勒比在线| 中文字幕日韩欧美在线| 中文字幕片av| 嫩BBB嫩BBB嫩BBBn嫩| 五月天狠狠操| 福利在线| 欧美国产乱伦| 俄罗斯老熟妇与子伦| 久久视频网站| 国产精品乱草| 婷婷大香蕉| 69成人网站| 亚洲无码视频在线看| 亚洲日韩AV无码| 激情久久AV一区AV二区AV三区| 一级内射片在线网站观看| 免费成人国产| 丝袜诱惑AV| 久草视频免费在线观看| 欧美男人天堂| 五十路AV| 日韩在线一级| 日韩中文无码字幕| 日本韩国欧美18| 国产美女在线观看| 内射学生妹J亅| 免费一级婬片AAA片毛片A级 | 北条麻妃九九九精品视频免费观看| brazzers疯狂作爱| 久久偷拍视频| GOGO人体做爰大胆视频| 免费看无码一级A片在线播放| 亚洲福利网站| 久久久久久久无码| 欧美成年人网站| 日韩AV中文字幕在线播放| 日本久久久久| 中日韩精品A片中文字幕| 超碰护士| 国产一级婬片A片免费妖精视频| 黄色免费网站| 亚洲人妻中文字幕| 特级av| 正在播放JUQ-878木下凛凛子| 久久精品99久久久久久| 亚洲欧美成人网站| 国产熟女一区| 极品少妇久久久| 成人精品秘久久久按摩下载 | 日韩特黄片| 免费的一级A片| 午夜无码在线观看视频| av在线资源| 亚洲第一网站| 亚洲精品久| 欧美日韩小视频| 青草青草| 婷婷五月天无码| 欧美第一夜| 免费看成人A片无码照片88hⅤ| 国产精品国产三级国产AⅤ原创| 亚洲色五月天| 在线免费观看a| 日韩欧美成人片| 国语一区| 人妻少妇综合| 懂色AV无码中字幕一区| 欧美一区二区三区成人| 国产精品久久久久久最猛| 高清的日逼| 青草久在线| 亚洲精品国产精品乱码视99| 中文字幕在线观看辣文| 亚洲无码高清在线| 东京热免费视频| 成人网在线观看| 亚洲高清无码视频在线观看| 欧美不卡| 黄色三级在线观看| 成人免费无码| 亚洲天堂精品在线观看| 97人人爽| 黄片视频网站| 超碰在线观看91| 青青青视频在线| 青青草精品视频| 亚洲天堂视频在线| 精东影业秘国产传媒| 91九色在线观看| 自拍偷拍成人视频| 97超碰人妻| 无码操| 香蕉伊人| 一级黄色电影网| 成人午夜无码福利视频| 亚洲无码中文字幕在线播放| 中文字幕有码在线视频| 男女日比视频| 制服丝袜强奸乱伦| 狠狠操AV| 亚洲高清在线播放| 蜜臀久久99精品久久久电影| 国产高清无码免费| 天天做天天爱| 97无码精品人妻| 亚洲精品区| 亚洲狼人| 国产欧美一区二区三区视频| 青榴视频免费观看| 欧美人妻视频在线| 长腿女神打扫偷懒被主人猛操惩罚| 黄色网址av| 国产久久免费视频| 日韩高清精品在线| 国产伦子伦一级A片免费看老牛| 日韩AV一区二区在线观看| 中文无码高清在线| 天堂网影音先锋| 黄色电影地址| 中文无码影院| 亚洲五月丁香婷婷| 大伊香蕉久久| a√天堂中文在线8| 中国老女人性爱视频| 欧美激情在线观看| 91精品国产综合久久久蜜臀主演| 一区二区视频在线| 欧美午夜视频| 成人做爰黄A片免费看直播室动漫| 美女做爱视频| 免费看无码一级A片放24小时| 伊人中文字幕| 丝袜人妻被操视频| 中文字字幕中文字幕乱码| а√在线中文网新版地址在线| 久久爱91| 大香蕉伊人手机在线| 日韩无码2024| 国产成人精品免高潮在线观看| 91天天看| 亚洲色五月天| 91人妻综合| 无码操B| 国产丝袜视频| 欧美日本黄色| 国产精品揄拍一区二区| 三级片国产| 日本操鸡小视频| 色色色色网| 欧美熟妇擦BBBB擦BBBB| 夜夜嗨AⅤ一区二区三区| 国产ts| 日本欧美在线播放中文| 豆花视频成人版www满18| 久草香蕉视频| 大香蕉在线网| 天天爽日日澡AAAA片| AV一区二区三区| a在线观看免费| 加勒比一区二区| 蜜桃影院| 澳门午夜| 亚洲色图欧美另类| 三级视频网| 日韩综合精品中文字幕66| 久久久久成人电影| 日韩视频播放在线综合| 最新中文字幕在线播放| 国产精品免费一区二区三区四区视频| 特黄无码| 尿在小sao货里面好不好| 午夜偷拍| 日韩成人精品视频| 午夜在线视频| 国产精品一级| 麻豆91免费视频| 国产精品一区二区黑人巨大| 日本草逼网| 青青草伊人大香蕉| 日韩婬乱片A片AAA真人视频| 二区三区在线| 加勒比精品| 大香蕉现在视频中心一| 亚洲自拍天堂| 国产精品美女久久久久久久久 | 成人精品A片免费网站| 夜夜天天人人| 久久嫩草| 亚洲小视频在线播放| 成人色综合| 欧美成人激情| 亚洲欧美大香蕉视频网| 超碰毛片| 国产精品999999| 嫩草久久99www亚洲红桃| 操比网| 日本色色色| 欧美视频一区二区三区| 日本三级AAA三级AAAA97 | 日韩色妇| 色综合成人| 91看片看婬黄大片| 日韩精品成人无码免费| 91中文字幕在线| 久久午夜无码鲁片午夜精品男男| 国产99999| 久久久久久免费| 国产91精品久久久天天| 丁香六月综合| 欧美一区二区在线| 91视频成人版一区二区| 亚洲精品无码中文| 激情久久AV一区AV二区AV三区 | 亚洲色图狠狠撸| 亚洲另类av| 在线中文字幕亚洲| 天天插天天日| 美女综合网| 亚洲天堂视频在线观看| 久久A√一区二区| 蜜桃91精品| 婷婷综合素质二区| 福利导航网| 青青草原av| 亚洲国产精品自| 国产八区| 97人妻天天摸天天爽天天| 人人妻人人澡人人爽人人DVD| 中文字幕精品人妻在线| 玖玖91| 天天综合天天| 精品亚洲无码视频| 亚洲中文字幕在线免费观看视频| 苗条一区小视频| 国产a毛一级,a毛一级| 国产草莓视频| 日韩欧美分区视频| 91日韩| 国产精品一级二级三级| 欧美一级免费A片| 中文成人无字幕乱码精品区| 大香蕉在线网| 狠狠躁夜夜躁人人爽人妻| 人人操人人妻人人| 熟妇高潮| 日韩人妻视频| 亚洲性爱在线| 免费欧美黄片| 久久视频一区| 五月丁香花| 欧美色图在线观看| 午夜老湿机| 久久探花| 性无码一区二区三区无码免费| 99这里只有精品| 在线观看免费高清无码| 大伊香蕉久久| 一道本高清无码| 日本黄色视频免费看| a片小视频| 在线免费观看黄色视频网站| 草在线视频| 大香蕉尹人| 91香蕉网站| 在线观看黄视频| 国产久久久久久久| 国产精品免费av在线| 欧美韩日一区二区| 91精品在线免费观看| 97久久久| 蜜桃Av| 91妻人人澡人人爽人人精品| 亚洲免费观看高清完整版在线| 无码国产精品一区二区免费式直播 | 欧美日韩在线免费| 成人影视1-23| 俺去也在线播放| 99视频精品全部免费看| 最新中文字幕在线| 午夜福利电影无码| 91黑人丨人妻丨国产丨| 亚洲手机视频| 欧美大片视频| 亚洲一区亚洲二区| 亚洲视频免费在线播放| 嫩BBB嫩BBB嫩BBB| 五月婷婷狠狠爱| 俺去俺来也| 精品毛片| 操逼91视频| 色色视频网| 黄色A片在线观看| 色欲国产精品欧美在线密| 欧美99视频| 亚洲欧洲综合| 人人妻人人澡人人爽| 噜噜噜AV| 中文字幕精品人妻| 丁香五月在线视频| 久久国产一级片| 毛片成人网| 天堂中文在线视频| 精品乱子伦一区二区三区下载| 内射老太太| 午夜精品18| 日韩做爱| 老太色HD色老太HD-百度| 上床网站| 操操操操一本到| 好男人av| 亚洲天堂无码视频| 91探花精品偷拍在线播放| 波多野结衣一二三区| 青草青草| 影音先锋AV资源网站| 午夜性爱视频| 中文字幕av无码| 国产小视频免费在线观看| 欧美亚洲日韩一区二区| 亚洲AV高清无码| 成人伊人AV| 日本有码在线| 激情视频网| 亚洲日韩精品欧美一区二区yw | 欧美成人一级| 2019中文字幕mv第三季歌词| 欧美日韩亚洲视频| 久久h| 色综合99久久久无码国产精品| 人人干干| 最近日韩中文字幕中文翻译歌词| 99精品国产热久久91色欲| 日韩久久电影| 日本三级网址| 亚洲三级电影在线观看| 久操热| 久久99无码| 谁有毛片网站| 五月天婷婷丁香| 九色蝌蚪9l视频蝌蚪9l视频成人熟妇 | 午夜AV在线观看| 内射在线播放| 久久精品人人| 国产精品成人无码| 欧美肏逼网| AV乱伦小说| 狠狠躁日日躁夜夜躁A片无码视频 强伦轩一区二区三区四区播放方式 | 中文字幕日韩一| 国产av黄| 夜夜操夜夜爽| 欧美色图色就是色| 翔田千里无码在线| 999高清无码| 亚洲A片一区二区三区电影网| 欧美色图在线播放| 人人操天天干| 日韩中文一区| 中文字幕系列| 中文字幕色站| 国产精品成人片| 亚洲天堂一| 人妻人人操人人爽| 肏逼视频免费看|