انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: برنامه ای ساده برای پخش فایلهای صوتی  (دفعات بازدید: 4013 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
برنامه ای ساده برای پخش فایلهای صوتی
« : 07 امرداد 1386، 11:03 ق‌ظ »
سلام
این برنامه رو دیروز با پایتون و Qt4 نوشتم که کارش پخش فایلهای صوتی هستش . امکانات خیلی کمی داره چون می خواستم فقط کار با فایلهای مالتی مدیا رو یاد بگیرم چیز خاصی توش نذاشتم. به هر حال این برنامه قارد تمام فایلهای صوتی رو پخش کنه و همینطور قادره فایلهای صوتی تصاویر ویدئویی رو هم جدا کرده وپخش کنه . ;)
دارم روی یه برنامه گسترده کار می کنم و فعلا دارم آمادگی لازم رو فراهم می کنم . :D

این هم کد برنامه میذارمش اینجا تا همه دوستان راحت تر ببینن و و نظرشون رو از جمله پیشنهاد و انتقاداتشون بیان کنن :

#!/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
توجه کنین که برای اجرای برنامه ای نوشته شده لازمه
« آخرین ویرایش: 07 امرداد 1386، 07:33 ب‌ظ توسط مهدی پیشگوی »

آفلاین Mehdi

  • ناظر ویژه انجمن
  • *
  • ارسال: 3284
  • جنسیت : پسر
    • هزاردستان
پاسخ به: برنامه ای ساده برای پخش فایلهای صوتی
« پاسخ #1 : 07 امرداد 1386، 05:34 ب‌ظ »
+1  :)
Of one Essence is the human race,
Thusly has Creation put the Base;
One Limb impacted is sufficient,
For all Others to feel the Mace.
~Saadi (persian poet) -1258
Hezardastan | Free As in Freedom