Aplikasi Pemutar Musik PySide versi 1

BelajarPython - Assalamualaikum wr. wb.

Jumpa lagi temen - temen... Saya akan mengajak kalian untuk membuat musik player nih.. Dengan tampilan yang cukup apik dan keren.. Karena menggunakan library PySide. Penasaran ? Langsung saja yuk kita simak sama - sama...

Pengenalan aplikasi yang akan kita buat.

Sebenarnya, saya sudah membuat aplkasi pemutar musik.. Namun menggunakan library Pygame dan Tkinter.. jadi, tampilannya tidak terlalu menarik dan terlihat jadul (KLIK DISINI untuk melihatnya).. Namun pada projek ini, tampilannya cukup keren dan tidak malu untuk kalian gunakan sebagai pemutar musik harian...

Namun, Aplikasi ini saya posting dengan berbagai versi.. Dengan penambahan fitur di tiap versinya.. Jika kalian ingin melihat versi - versi aplikasi ini, KALIAN BISA KLIK DISINI ya temen - temen...

Dan pada postingan kali ini saya akan memberikan code program pemutar musik versi 1. Diamana pada versi pertama ini saya hanya memberikan fitur utama nya saja.. Yaitu meutar 1 buah file musik saja.. Dimana menentukan file musiknya langsung melalui code program..


Rincian Lengkap Aplikasi Pemutar Musik PySide Versi 1.0

Aplikasi kali ini menggunakan library PySide. Jadi, untuk menjalankannya, harus menginstallnya dulu... KLIK DISINI untuk menginstallnya.... Berikut rincian lengkap aplikasinya...

Nama: mn-mp3SidePlayer 1.0
Versi: 1.0 | klik disini untuk membaca versi selanjutnya.
Platform: Python 3.x
Modul: PySide. Klik disini untuk menginstallnya.
Baris Code: kurang lebih 74 baris code program.
Terdiri dari: 1 class dan 11 metode.
Fitur: Hanya memutar 1 buah lagu/musik.
Kelemahan: Menentukan file musik yang akan di putar melalui code program secara langsung.
syarat menjalankan: install python 3.x dan PySIde, punya editor teks atau IDE.
Cara menjalankan: install python 3 dan PySide, copy dan paste code program pada editor atau IDE, simpan dalam file python(ekstensi .py), lalu jalankan.


Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu loh.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...

Code program aplikasi Pemutar Musik PySide versi 1.0

Nah lalu seperti apa code program dari aplikasi Pemutar Musik PySide pada versi kali ini ? Oke, Berikut saya berikan code program nya ya...


from PySide import QtGui, QtCore
from PySide.phonon import Phonon
import sys

class PemutarMusik(QtGui.QMainWindow) :
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.inisialisasiMedia()
        self.buatTombol()
        self.buatTeks()
        self.layout()
        self.susunTombol()
        self.rangkai()

        self.connect(self.pemutar, QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'), self.statusBerubah)

        self.putarMusik()

    def inisialisasiMedia(self):
        self.suara = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.pemutar = Phonon.MediaObject(self)

        Phonon.createPath(self.pemutar, self.suara)

    def buatTombol(self):
        self.tombolWeb = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_ComputerIcon), "Pergi Ke Web", self, triggered=self.perintahWeb)

    def perintahWeb(self):
        QtGui.QDesktopServices.openUrl(QtCore.QUrl('Http://mn-belajarpython.blogspot.co.id'))

    def closeEvent(self, event):
        self.destroy()

    def buatTeks(self):
        self.indikator = QtGui.QLabel(''' mn-belajarpython.blogspot.co.id ''')

    def layout(self):
        widgetTengah = QtGui.QWidget()
        self.layoutUtama = QtGui.QVBoxLayout(widgetTengah)
        self.layoutTombol = QtGui.QToolBar()

        self.layoutTombol.setMovable(False)
        self.layoutUtama.setSpacing(0)
        self.setCentralWidget(widgetTengah)

    def susunTombol(self):
        self.layoutTombol.addAction(self.tombolWeb)
        self.layoutTombol.addSeparator()
        self.layoutTombol.addWidget(QtGui.QLabel("  "))
        self.layoutTombol.addWidget(self.indikator)

    def rangkai(self):
        self.addToolBar( QtCore.Qt.BottomToolBarArea ,self.layoutTombol)

    def putarMusik(self):
        self.pemutar.setCurrentSource('./hysteria.mp3')
        self.pemutar.play()


    def statusBerubah(self, statusBaru, oldState):
        if statusBaru == Phonon.ErrorState:
            if self.mediaObject.errorType() == Phonon.FatalError:
                QtGui.QMessageBox.warning(self, self.tr("Fatal Error"), self.mediaObject.errorString())
            else:
                QtGui.QMessageBox.warning(self, self.tr("Error"), self.mediaObject.errorString())


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = PemutarMusik()
    window.setWindowTitle("Musik Player -> mn-belajarpython.blogspot.co.id")
    window.show()
    sys.exit(app.exec_())


Nah lalu, seperti apakah tampilan yang akan di hasilkan dari code program di atas? Langsung saja yuk kita simak sama - sama tampilannya di bawah ini...



Penjelasan code program Aplikasi Pemutar musik PySide versi 1.0

Sekarang saya akan mencoba untuk menjelaskan code program yang sudah saya bagikan di atas tadi.. Agar kalian lebih mudah untuk memahaminya.. Oke, Langsung saja yuk kita simak sama penjelasannya di bawah ini....


[NOTE : Teks berwarna MERAH pada penjelasan adalah Code tambahan yang tidak ada di versi sebelumnyaDan yang Berwarna BIRU akan di hapus di versi berikutnya. Jika Code berwarna MERAH dan komentar berwarna BIRU maka merupakan code baru dan akan di hapus di versi berikutnya]


from PySide import QtGui, QtCore  //mengimport class ‘QtGui’ dan ‘QtCore’ dari PySide
from PySide.phonon import Phonon  //mengimport class ‘PySide’ dari PySide
import sys  //mengimport sys dari python

class PemutarMusik(QtGui.QMainWindow) :  //membuat class ‘PemutarMusik’ dengan meng inheritence class ‘QMainWindow’
    def __init__(self):  //construktor class ‘PemutarMusik’
        QtGui.QMainWindow.__init__(self)  //memanggil construktor class ‘QMainnWindow’ dengan memasukkan “self (class ‘PemutarMusik’)” sebagai parameter

        self.inisialisasiMedia()  //memanggil metode ‘inisialisasiMedia’
        self.buatTombol()  //memanggil metode ‘buatTombol’
        self.buatTeks()  //memanggil metode ‘buatTeks’
        self.layout()  //memanggil metode ‘layout’
        self.susunTombol()  //memanggil metode ‘susunTombol’
        self.rangkai()  //memanggil metode ‘rangkai’

        self.connect(self.pemutar, QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'), self.statusBerubah)   //digunakan untuk menjalankan metode ‘statusBerubah’ ketika memutar musik. Dan akan selalu di jalankan selama memutar musik

        self.putarMusik()  //memanggil metode ‘putarMusik’

    def inisialisasiMedia(self):  //membuat metode ‘insialisasiMedia’
        self.suara = Phonon.AudioOutput(Phonon.MusicCategory, self)  //mendefinisikan suara pemutar musik
        self.pemutar = Phonon.MediaObject(self)  //membuat pemutar lagu

        Phonon.createPath(self.pemutar, self.suara)  //menghubungkan pemutar dengan audio

    def buatTombol(self):  //membuat metode ‘buatTombol’
        self.tombolWeb = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_ComputerIcon), "Pergi Ke Web", self, triggered=self.perintahWeb)  //membuat action ‘Pergi Ke Web’ denga menjalankan metode ‘perintahWeb’ ketika di klik

    def perintahWeb(self):  //metode ‘perintahWeb’
        QtGui.QDesktopServices.openUrl(QtCore.QUrl('Http://mn-belajarpython.blogspot.co.id'))  //membuka browser dan pergi ke blog ini :)

    def closeEvent(self, event):  //metode yg otomatis di jalankan ketika window di close. ‘built in PySide’
        self.destroy()  //menghentikan aplikasi

    def buatTeks(self):  //metode buatTeks
        self.indikator = QtGui.QLabel('''<b> mn-belajarpython.blogspot.co.id </b>''')  //membuat Teks dan disimpan ke ‘indikator’

    def layout(self):  //metode layout
        widgetTengah = QtGui.QWidget()  //membuat widget
        self.layoutUtama = QtGui.QVBoxLayout(widgetTengah)  //membuat layout utama
        self.layoutTombol = QtGui.QToolBar()  //membuat tempat tombol

        self.layoutTombol.setMovable(False)  //membuat ‘layoutTombol’ agar tidak bisa di pindah
        self.layoutUtama.setSpacing(0)  //membuat komponen lebih rapat
        self.setCentralWidget(widgetTengah)  //memasukkan widget (layoutUtama) ke window

    def susunTombol(self):  //metode ‘susunTombol’
        self.layoutTombol.addAction(self.tombolWeb)  //memasukkan ‘action’/perintah ‘pergi ke web’ ke tempat tombol (layoutTombol)
        self.layoutTombol.addSeparator()  //memberi garis batas
        self.layoutTombol.addWidget(QtGui.QLabel("  "))  //memasukkan spasi ke tempat tombol agar ada jarak
        self.layoutTombol.addWidget(self.indikator)  //memasukkan teks yang ada di ‘indikator’

    def rangkai(self):  //metode ‘rangkai’
        self.addToolBar( QtCore.Qt.BottomToolBarArea ,self.layoutTombol) //memasukkan tempat tombol (layoutTombol) ke dalam window

    def putarMusik(self):  //metode putarMusik
        self.pemutar.setCurrentSource('./hysteria.mp3')  //menentukan lokasi file. Silahkan ubah ‘hysteria.mp3’ menjadi nama file musik yang ingin kalian putar. Nama harus sama. Dan pastikan file musik berada dalam satu folder dengan file python aplikasi ini.
        self.pemutar.play()  //memutar musik


    def statusBerubah(self, statusBaru, oldState):  //metode ‘statusBerubah’
        if statusBaru == Phonon.ErrorState:  //mengecek apakah ada error
            if self.mediaObject.errorType() == Phonon.FatalError:  //mengecek apakah ada error dengan jenis fatal error
                QtGui.QMessageBox.warning(self, self.tr("Fatal Error"), self.mediaObject.errorString())  //menampilkan pesan fatal error
            else:  //jika bukan fatal error
                QtGui.QMessageBox.warning(self, self.tr("Error"), self.mediaObject.errorString())  //menampilkan pesan error saja


if __name__ == '__main__':  //kondisi yang membuat code di bawahnya di jalankan paling awal
    app = QtGui.QApplication(sys.argv)  //inisialisasi window PySide
    window = PemutarMusik()  //memanggil class ‘PemutarMusik’
    window.setWindowTitle("Musik Player -> mn-belajarpython.blogspot.co.id")  //mengubah judul
    window.show()  //menampilkan window aplikasi
    sys.exit(app.exec_())  //agar window tidak langsung clos saat dijalankan





Nah itu dia temen - temen penjelasan code programnya.. Mohon maaf ya apabila ada penjelasan yang kurang jelas, atau bahkan ada kekeliruan... Mohon kasi pembenaran atau pendapat kalian di kolom komentar ya temen - temen... Biar kita bisa belajar bersama - sama..

Oke terimakasih dan sampai di sini dulu ya temen - temen... Jangan lupa untuk membaca versi - versi yang lainnya... Biar ilmunya juga nambah.. Hehe.. Temikasih sekali lagi dan sekian...

Wassalamualaikum wr. wb.
Previous
Next Post »
Thanks for your comment