日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python写音乐播放器_python 模拟(简易)音乐播放器

發布時間:2025/3/19 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python写音乐播放器_python 模拟(简易)音乐播放器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模擬一個在線音樂播放程序

# 1, 使用C/S架構來進行設計,分別寫出客戶端和服務器程序

# 2,客戶端鏈接服務器之后,服務器向用戶提示可以選擇的歌曲列表,用戶選擇后開始播放(音頻文件存放在本地即可)

#思路是通過socketserver ,客戶端發送指令到服務端,服務端連接數據庫查到歌曲名字路徑返回給客戶端,客戶端通過pygame模塊查找到歌曲路徑 播放歌曲

#創建數據表,插入歌曲名字和路徑

CREATE TABLE t_music(

id INT PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(32),

path VARCHAR(32)

)

SELECT * FROM t_music

INSERT INTO t_music(NAME,path) VALUE("味道","D:\\\\老男孩\\\\味道.mp3"),("世間美好與你環環相扣","D:\\\\老男孩\\\\世間美好與你環環相扣.mp3")

服務端:

import pymysql

import json

import socketserver

class MyServer(socketserver.BaseRequestHandler):

@classmethod

def conn(cls,name):

conn = pymysql.connect(host="localhost", user="root", password="123456", db="music", charset="utf8")

cur = conn.cursor()

sql = "select path from t_music where name='%s'" % name

cur.execute(sql)

data = cur.fetchall()

return data

@classmethod

def conn2(cls):

conn = pymysql.connect(host="localhost", user="root", password="123456", db="music", charset="utf8")

cur = conn.cursor()

sql = "select name from t_music"

cur.execute(sql)

data = cur.fetchall()

mydic = {}

lst = []

for i in data:

for j in i:

print(i[0])

lst.append(i[0])

for k, v in enumerate(lst):

mydic[k] = v

a = json.dumps(mydic)

return a

def handle(self):

while True:

data = self.request.recv(1024)

print('->client',data)

if data.decode() == 'a':

# pass

self.request.send(self.conn2().encode())

else:

self.request.send(self.conn(data.decode())[0][0].encode())

socketserver.TCPServer.allow_reuse_address = True

server = socketserver.ThreadingTCPServer(('127.0.0.1', 8080), MyServer)

server.serve_forever()

客戶端:

import socket

import json

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client.connect(('127.0.0.1', 8080))

def broadcast(): # broadcast播放

import pygame

import time

pygame.mixer.init() #初始化

pygame.mixer.music.load(data1) # 通過路徑path 加載

pygame.mixer.music.play() #在程序運行中會播放

# print("正在播放的歌曲:%s" % name)

time.sleep(100) #讓程序保持運行狀態

while True:

name =input("請輸入a獲取歌曲列表或歌曲名字播放:")

client.send(name.encode('utf-8'))

data1 = client.recv(1024).decode('utf-8')

if name =='a':

data2 =json.loads(data1)

print(data2)

else:

print(data1)

broadcast()

#使用 mixer 播放音效

#山楂樹之戀 世間美好與你環環相扣 味道

總結

以上是生活随笔為你收集整理的python写音乐播放器_python 模拟(简易)音乐播放器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。