结合网上的一些代码写下自己的理解,

# _*_ coding:utf8
import Tkinter
import tkMessageBox
from win32com.client import Dispatch
import tkFileDialog
from Tkinter import *import sys
from sys import exitclass music(object):def init(self,root):self.root=rootself.create_menu(self.root)fm = Frame(root,height=500,bg='#ffffff', width=800)Label(root, text="播放器",width=100,bg='#ffffff', font=("Arial",10,)).pack()frmL = Frame(fm)#列表框var = StringVarself.listbox = Listbox(frmL,listvariable=var,width=65,height=100,font=("Arial",10))self.listbox.pack()frmR=Frame(fm,bg='#ffffff')#lis = Listbox(frmR,listvariable=var,width=45,height=70,font=("Arial",12)).pack(side=TOP)#buttonprevious_play = Tkinter.Button(frmR,text='上一首',bg='#cccccc',width=8,height=1,command=self.previous_p)previous_play.grid(row=1,column=1,padx=10, pady=35)play = Tkinter.Button(frmR,text='播放/暂停',bg='#cccccc',width=8,height=1,command=self.play_pause)play.grid(row=1,column=2, padx=10, pady=5)next_play = Tkinter.Button(frmR,text='下一首',bg='#cccccc',width=8,height=1,command=self.next_p)next_play.grid(row=1,column=3,padx=10, pady=5)stop_play = Tkinter.Button(frmR,text='停止',bg='#cccccc',width=8,height=1,command=self.stop_p)stop_play.grid(row=1,column=4,padx=10, pady=5)self.volum = Tkinter.IntVar()scale = Tkinter.Scale(frmR,variable = self.volum, bg='#ffffff',orient = Tkinter.HORIZONTAL, length = 315,command=self.vol)scale.set(50)scale.grid(row=2,column=0,columnspan=5)frmL.pack(side=LEFT)frmR.pack(side=RIGHT)fm.pack()self.mu = Dispatch('WMPlayer.OCX')self.playing=Falseself.root.mainloop()#添加菜单def create_menu(self,root):self.root = rootmenubar = Tkinter.Menu(self.root)filemenu = Tkinter.Menu(menubar,tearoff=0)#tearoff=0菜单不能独立出来filemenu.add_command(label='打开音乐文件',command=self.open_files,accelerator='Ctrl+O')filemenu.add_command(label='退出',command=self.close,accelerator='Ctrl+X')root.bind_all("<Control-o>", lambda event:self.hello())root.bind_all("<Control-x>", lambda event:self.close())abort = Tkinter.Menu(menubar,tearoff=0)abort.add_command(label='关于播放器',command=self.tkabort)menubar.add_cascade(label='文件',menu=filemenu,)menubar.add_cascade(label='关于',menu=abort)root.config(menu=menubar)def vol(self, none):self.mu.settings.Volume = int(self.volum.get())def previous_p(self):self.mu.controls.previous()def play_pause(self):if self.playing==False:self.mu.controls.play()self.playing=Trueelif self.playing==True:self.mu.controls.pause()self.playing=Falsedef stop_p(self):self.mu.controls.stop()def next_p(self):self.mu.controls.next()def open_files(self):filenames = tkFileDialog.askopenfilenames(initialdir = './',title='选择音乐',filetypes=[('MP3','*.mp3'),('FlAC','*.flac'),("WMA","*.wma"),("WAV","*.wav")])# listboxs = self.contents(self.root)for i in filenames:if i:media = self.mu.newMedia(i)self.mu.currentPlaylist.appendItem(media)l=i.split('/')self.listbox.insert(END,l[-1])print type(self.mu.currentPlaylist)return filenames#abortdef tkabort(self):tkMessageBox.showinfo('关于','播放器1.0')#关闭程序def close(self):exit()if __name__=='__main__':root =Tkinter.Tk()root.geometry('800x500+600+100')root.resizable(width=False, height=True)root.title('音乐')root.iconbitmap('error')m = music()m.init(root)

重点内容****1. from win32com.client import Dispatch
遗憾的是在网上并没有找到多少关于Dispatch这个方法的知识点,似乎可以理解为它是一个连接软件与文件的工具的方法,就是可以操作一些文件(原谅我的菜),
对于MP3文件:

# Python supports COM, if you have the Win32 extensions
# check your Python folder eg. D:\Python23\Lib\site-packages\win32com
# also http://starship.python.net/crew/mhammond/win32/Downloads.html
# this program will play MP3, WMA, MID, WAV files via the WindowsMediaPlayer
from win32com.client import Dispatch
mp = Dispatch("WMPlayer.OCX")
# use an mp3 file you have ...
#tune = mp.newMedia("C:/Program Files/Common Files/HP/Memories Disc/2.0/audio/Swing.mp3")
# or copy one to the working folder ...
#tune = mp.newMedia("Bier1.mp3")
# you can also play wma files, this cool sound came with XP ...
tune = mp.newMedia("C:/WINDOWS/system32/oobe/images/title.wma")
mp.currentPlaylist.appendItem(tune)
mp.controls.play()
# to stop playing use
raw_input("Press Enter to stop playing")
mp.controls.stop()

对于一些其他的文件:

w = win32com.client.Dispatch("PythonDemos.Utilities")
w = win32com.client.Dispatch("ctypes.SumObject")
w=win32com.client.Dispatch("InternetExplorer.Application")
w = win32com.client.Dispatch("Excel.Application")

另外其他内容:https://wenku.baidu.com/view/b129df4c79563c1ec5da71dd.html?from=search

**2.**Python中的打开文件对话框
(1)

from Tkinter import *
from FileDialog import *
root = Tk()
fo = LoadFileDialog(root) # 创建打开文件对话框
filename = fo.go() # 显示打开文件对话框,并获取选择的文件名称
print filename
root.mainloop()

但是界面效果比较简陋(不是本地风格),而且遇到中文名称也会显示为乱码。所以FileDialog.LoadFileDialog用于快速原型验证倒是不错,要拼凑一个稍微上得了台面的界面还是差了点.
(2)

import win32ui
dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框
dlg.SetOFNInitialDir('E:/Python') # 设置打开文件对话框中的初始显示目录
dlg.DoModal()
filename = dlg.GetPathName() # 获取选择的文件名称
print filename
这个打开文件对话框的界面比较友好,是Windows本地风格的,中文显示也正常,但缺点是只能在Windows上有效.
(3)

import tkFileDialog
filename = tkFileDialog.askopenfilename(initialdir = ‘E:/Python’)
print filename

界面也是友好的本地风格,与使用win32ui.CreateFileDialog类似,但是优点是tkFileDialog是跨平台的相关链接:
<http://blog.sina.com.cn/s/blog_76129c6f0101892q.html/>
<http://www.jb51.net/article/67001.htm/>
<http://blog.sina.com.cn/s/blog_4b5039210100ezzq.html/>

python播放器代码相关推荐

  1. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  2. html音乐播放器代码自动,html5 css3音乐播放器代码

    特效描述:html5 css3 音乐播放器代码.html5 css3音乐播放器代码 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 标题歌手 00:00/00:00 var music ...

  3. JS单曲调用百度mp3音乐播放器代码

    在网上找的单曲调用百度mp3音乐播放器的代码,改了改,文本框输入歌曲名,中文逗号,歌手名,回车就可以试听了.几点说明:  百度音乐api 音乐文件地址,span,p,div,等都可以,ID 必须是so ...

  4. php 手机端播放器,用JS代码适配电脑端和手机端播放器代码

    用JS代码适配电脑端和手机端播放器代码 蓝叶    网站设计    2016-08-10    10668    9评论 随着html5的崛起,很多网站都采用html5代码来设计,让网站美观大气,但是 ...

  5. 网页嵌入媒体播放器代码 选择自 murky 的 Blog

    页面插入REAL播放器代码: <object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=60 id=video1 sty ...

  6. 经常使用网页播放器代码

    经常使用网页播放器代码 我们在网页上看到的播放器无外乎WMP/RealOne/Macromedia Flash Player,其它的无非是面板不同,或者加入了其它控件,对于计算机上安装的一些播放器也都 ...

  7. jsp网页嵌入PHP网页,JSP_(jsp/html)网页上嵌入播放器(常用播放器代码整理),这个其实很简单,只要在HTML上 - phpStudy...

    (jsp/html)网页上嵌入播放器(常用播放器代码整理) 这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay. 还有更多的的播放器和设置可供选 ...

  8. (jsp/html)网页上嵌入播放器(常用播放器代码整理) http://www.jb51.net/article/37267.htm...

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助 这个其实很简单,只要在HTML上添加以上代码就OK了 ...

  9. jQuery+html5音乐网站mp3播放器代码

    播放器演示 jQuery+html5音乐网站mp3播放器代码演示 播放器介绍 jQuery+html5音乐网站mp3播放器代码 1. 支持显示播放进度条: 2. 支持拖动播放功能: 3. 支持显示音量 ...

最新文章

  1. 在CentOS 6.8 x86_64上安装ATS 6.2.1实录
  2. 【每日一算法】有效的括号
  3. Insertion Sort List
  4. Linux经常使用的命令(十) - nl
  5. 【免费分享】KotaLog Diary2022年计划电子手账本
  6. C++实现教学信息管理系统
  7. 勒索软件防不胜防? 要先从了解它开始
  8. java流与文件——文本输入输出
  9. Python萌新笔记
  10. BNUOJ 4358 左手定则 搜索
  11. 黑龙江省2021高考成绩排名查询,黑龙江高考排名对应学校-高考位次对应大学(2021年理科参考)...
  12. Windows 与 Linux 通过Xshell 文件互传
  13. ie浏览器在线使用_关于登录深圳市住房公积金管理中心网站在线办理平台的温馨提示...
  14. android 弹窗banner,弹窗交互规范分析|UI|观点|DesigneR_D - 原创文章 - 站酷 (ZCOOL)
  15. FreeBSD 下玩 FC 游戏
  16. virtualxposed使用教程_VirtualXposed
  17. python学习笔记------列表
  18. qq附近的人怎么引流?如何利用手机QQ附近功能引流
  19. jQuery插件库超级好用库
  20. 人工智能——国家人工智能战略行动抓手

热门文章

  1. 企业微信组织架构同步优化的思路与实操演练
  2. 串口:交叉线与直连线的区别
  3. 最新代刷网秒刷订单量源码
  4. 求助:同一台路由器LAN口和WAN口处在不同的网段为什么能Ping通?
  5. TP5 对接支付宝支付接口开发详细步骤(证书签名方式)
  6. ABB断路器维修F1F2F3E1E2E3E4系列E6H6300
  7. 在pads layout中如何导入png和bmp
  8. 【干货篇】Processing-Kinect人形物理碰撞效果
  9. [DAQmx]创建虚拟通道时应当注意的基本问题
  10. 武汉哪所技术学校学计算机好,武汉计算机专业学校排名