使用win32库的WMPlayer.OCX开发一个简易的音乐播放器

 import sys
 from PyQt4 import QtGui, QtCore
 from win32com.client import Dispatch

 class MyWindow(QtGui.QWidget):
     def __init__(self):
         super(MyWindow, self).__init__()
         self.setWindowTitle('音乐播放器')
         self.resize(485, 300)

         self.btnAdd = QtGui.QPushButton('Add')
         self.btnPlay = QtGui.QPushButton('Play')
         self.btnPause = QtGui.QPushButton('Pause')
         self.btnStop = QtGui.QPushButton('Stop')
         self.btnNext = QtGui.QPushButton('Next')
         self.txtList = QtGui.QTextEdit()

         grid = QtGui.QGridLayout()
         grid.addWidget(self.btnAdd, 0, 0)
         grid.addWidget(self.btnPlay, 0, 1)
         grid.addWidget(self.btnPause, 0, 2)
         grid.addWidget(self.btnStop, 0, 3)
         grid.addWidget(self.btnNext, 0, 4)
         grid.addWidget(self.txtList, 1, 0, 1, 5)
         self.setLayout(grid)

         self.connect(self.btnAdd, QtCore.SIGNAL('clicked()'), self.onBtnAdd)
         self.connect(self.btnPlay, QtCore.SIGNAL('clicked()'), self.onBtnPlay)
         self.connect(self.btnPause, QtCore.SIGNAL('clicked()'), self.onBtnPause)
         self.connect(self.btnStop, QtCore.SIGNAL('clicked()'), self.onBtnStop)
         self.connect(self.btnNext, QtCore.SIGNAL('clicked()'), self.onBtnNext)

         self.wmp = Dispatch('WMPlayer.OCX')

     def onBtnAdd(self):
         file = QtGui.QFileDialog.getOpenFileName(self, '打开文件', filter='音乐文件(*.mp3; *.wma; *.wav)')
         if file:
             media = self.wmp.newMedia(file)
             self.wmp.currentPlayList.appendItem(media)
             self.txtList.append(file+'\n')
     def onBtnPlay(self):
         self.wmp.controls.play()
     def onBtnPause(self):
         self.wmp.controls.pause()
     def onBtnStop(self):
         self.wmp.controls.stop()
     def onBtnNext(self):
         self.wmp.controls.next()
 app = QtGui.QApplication(sys.argv)
 mywindow = MyWindow()
 mywindow.show()
 app.exec_()

Python -- 多媒体编程 -- 音乐播放的更多相关文章

  1. python 开发在线音乐播放器-简易版

    在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...

  2. Python使用Pygame.mixer播放音乐

    Python使用Pygame.mixer播放音乐 frequency这里是调频率... 播放网络中的音频: #!/usr/bin/env python # -*- coding: utf-8 -*- ...

  3. python实现音乐播放器

    python实现音乐播放器 模块:pygame 模块:time Python 布尔循环实例: import time import pygame muxi_k = """ ...

  4. 使用python打造一款音乐播放器

    作者qq:64761294 编程/考试交流群:834531270 欢迎交流 核心播放模块(pygame内核) import time import pygame import easygui as g ...

  5. Android学习笔记_24_多媒体MediaPlayer对象之音乐播放器与SoundPool声音池

    一.MediaPlayer对象常用方法介绍: MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaPlayer.isPlaying()) { m ...

  6. Python调用Windows API函数编写录音机和音乐播放器

    功能描述: 1)使用tkinter设计程序界面: 2)调用Windows API函数实现录音机和音乐播放器. . 参考代码: ​ 运行界面: ​

  7. 吴裕雄--天生自然python学习笔记:python 用pygame模块制作 MP3 音乐播放器

    利用 music 对象来制作一个 MP3 音乐播放器 . 应用程序总览 从歌曲清单中选择指定的歌曲,单击“播放”按钮可开始播放, 在播放 xxx 歌曲”的信息. 歌曲播放的过程中,可以暂停.停止,也可 ...

  8. 简单的音乐播放器(VS 2010 + Qt 4.8.5)

    昨天历经千辛万苦,配置好了VS 2010中的Qt环境(包括Qt for VS插件),今天决定浅浅地品味一下将两者结合进行编程的魅力. 上网查了一些资料,学习了一些基础知识,决定做一个简单的音乐播放器, ...

  9. NABCD分析java音乐播放器

    程设计题目:java音乐播放器 一.课程设计目的 1.编程设计音乐播放软件,使之实现音乐播放的功能. 2.培养学生用程序解决实际问题的能力和兴趣. 3.加深java中对多媒体编程的应用. 二.课程设计 ...

随机推荐

  1. 关于TM影像各波段组合的简介

    321:真彩色合成,即3.2.1波段分别赋予红.绿.蓝色,则获得自然彩色合成图像,图像的色彩与原地区或景物的实际色彩一致,适合于非遥感应用专业人员使用. 432:标准假彩色合成,即4.3.2波段分别赋 ...

  2. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  3. Yeoman安装和使用详解

    Yeoman generator-react-webpack 一 什么是Yeoman Yeoman帮助我们创建项目,提供更好的工具来使我们的项目更多样化. Yeoman提供generator系统,一个 ...

  4. (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)

    /* * POJ_2092.cpp * * Created on: 2013年11月1日 * Author: Administrator */ #include <iostream> #i ...

  5. adb push 和 adb pull命令

    adb push命令 :从电脑上传送文件到手机: adb pull命令 :从手机传送文件到电脑上             @Cocos 下次需要权限的目录可以执行chmod 777 目录名      ...

  6. oracle 中top-n的使用

    对于ms sqlserver数据库中可以直接使用top(n)提取前N 个结果,而oracle中并不能直接使用的.oracle中提供了对于提取前N 条的结果的方法  那就是用行编号 例如:select ...

  7. 程序bug导致了天大的损失,要枪毙程序猿吗?[ZZ]

    来自猫扑:程序bug导致了天大的损失,要枪毙程序猿吗? 0 引言 年会上Review 源代码算什么? 法庭上 Review code 才带劲..... 2015年9月3日,随着东京最高法院驳回瑞穗证券 ...

  8. mssql中按周进行表分区的方法

    创建一个包含了一个持久化计算列的表,类似于下面.然后以这个列作为分区的依据. CREATE TABLE [dbo].[test] ( ) NOT NULL , [time] [DATETIME] NU ...

  9. 数据导出之winfrom导出word(二)

    本篇文章介绍了根据word模板导出word文档的方法. 一.获取模板地址 WordDocFileHelper WordTem = new WordDocFileHelper(); string pat ...

  10. C# 动态创建SQL数据库(二)

    使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关系映射来创建数据库与表 一 新建项 ...