سلام
این برنامه رو دیروز با پایتون و Qt4 نوشتم که کارش پخش فایلهای صوتی هستش . امکانات خیلی کمی داره چون می خواستم فقط کار با فایلهای مالتی مدیا رو یاد بگیرم چیز خاصی توش نذاشتم. به هر حال این برنامه قارد تمام فایلهای صوتی رو پخش کنه و همینطور قادره فایلهای صوتی تصاویر ویدئویی رو هم جدا کرده وپخش کنه .
دارم روی یه برنامه گسترده کار می کنم و فعلا دارم آمادگی لازم رو فراهم می کنم .
این هم کد برنامه میذارمش اینجا تا همه دوستان راحت تر ببینن و و نظرشون رو از جمله پیشنهاد و انتقاداتشون بیان کنن :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2007 Mahdi Pishguy
# E-mail:pishguy@gmail.com
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
# Programmed with Qt4 & Python
#
# Thanks to : Mahdi Bayazee
#/home/mahdi/Desktop/home/Mp3/01.mp3
import sys
from PyQt4 import QtCore, QtGui
import pyxine
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(QtCore.QSize(QtCore.QRect(0,0,357,117).size()).expandedTo(MainWindow.minimumSizeHint()))
MainWindow.setMinimumSize(QtCore.QSize(357,117))
MainWindow.setMaximumSize(QtCore.QSize(357,117))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(10,10,331,31))
font = QtGui.QFont(self.label.font())
font.setPointSize(12)
self.label.setFont(font)
self.label.setFrameShape(QtGui.QFrame.NoFrame)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(3,3,351,111))
self.label_3.setFrameShape(QtGui.QFrame.StyledPanel)
self.label_3.setObjectName("label_3")
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(245,79,101,27))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(127,79,111,27))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtGui.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(10,79,111,27))
self.pushButton_3.setObjectName("pushButton_3")
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(8,41,341,29))
self.lineEdit.setObjectName("lineEdit")
#MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL("clicked()"),self.Play)
QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL("clicked()"),self.Stop)
QtCore.QObject.connect(self.pushButton_3,QtCore.SIGNAL("clicked()"),self.about)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(self.__UTF8("Audio-Video Player..."))
self.label.setText(self.__UTF8("لطفا مسیر فایل خود را وارد کنید "))
self.pushButton.setText(self.__UTF8("پخش فایل"))
self.pushButton_2.setText(self.__UTF8("قطع و استپ"))
self.pushButton_3.setText(self.__UTF8("درباره برنامه"))
def Play(self):
choicefile=self.lineEdit.text()
stream.open(str(choicefile))
stream.play()
def Stop():
stream.stop()
def about(self):
QtGui.QMessageBox.about(None,
self.__UTF8("درباره برنامه"),
self.__UTF8("این برنامه قادر است تمام فایلهای صوتی و فایلهای صوتی ویدئویی را پخش کند"))
def __UTF8(self,txt):
return QtGui.QApplication.translate("MainWindow", txt, None, QtGui.QApplication.UnicodeUTF8)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QWidget()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
xine = pyxine.Xine()
stream = xine.stream_new()
MainWindow.show()
sys.exit(app.exec_())
می بینید پایتون چه قدرتی داره و چقدر راحت هستش ؟ مخصوصا استفاده از انواع ماژولها .
ماژول Pyxine رو از لینک زیر می تونین دانلود کنین :
لینک دانلودبرای نصبش هم از دستور زیر استفاده کنین :
python setup.py install
توجه کنین که برای اجرای برنامه ای نوشته شده لازمه