Inserito da: akus | Aprile 17, 2008

Si inizia…

Ciao a tutti eccomi col primo post di questa nuova avventura :-)
In questo spazio posterò ciò che andrò scoprendo nel mondo Linux,i codici dei miei programmi,e news in generale…insomma tutto quello che stimola la mia (e spero anche la vostra) curiosità…!!!
Iniziamo subito presentando una libreria per python che ci permette di lavorare sull’audio,la libreria in questione si chiama PyMedia, se la dovete installare su un sistema Windows basta scaricare l’installer (.exe) ed installarlo come un semplice programma,mentre se come me siete su un sistema linux scaricate il .tar.gz e seguite le seguenti istruzioni per Ubuntu 7.10 :

-Installare prima le dipendenze:
sudo apt-get install python-dev libogg-dev libvorbis-dev liblame-dev libfaad2-dev libasound2-dev python-pygame

-Digitare sul terminale:
python setup.py build

-Infine installiamo pymedia:
sudo python setup.py install

Per verificare che tutto sia andato a buon fine aprite la shell interattiva di python (basta digitare “python” sul terminale) e scrivere:import pymedia
se non compare nessun errore significa che pymedia è stato installato correttamente..!!

Iniziamo presentando un primo programmino anche se con un’interfaccia ancora rudimentale,si tratta di un player audio creato con python utilizzando pymedia per la gestione dell’audio e le wxpython per l’interfaccia grafica :-)

import wx
import pymedia

ID_APRI=wx.NewId()
ID_ESCI=wx.NewId()

class Main(wx.Frame):
    def __init__(self,parent,id,title):
        wx.Frame.__init__(self,parent,id,title,size=(250,120))
        self.BottonePlay=wx.Button(self,-1,'PLAY',pos=(00,35),size=(55,30))
        self.BottonePause=wx.Button(self,-1,'PAUSE',pos=(55,35),size=(55,30))
        self.BottoneStop=wx.Button(self,-1,'STOP',pos=(110,35),size=(55,30))
        #
        self.BottonePlay.Bind(wx.EVT_BUTTON,self.Play,self.BottonePlay)
        self.BottoneStop.Bind(wx.EVT_BUTTON,self.Stop,self.BottoneStop)
        self.BottonePause.Bind(wx.EVT_BUTTON,self.Pause,self.BottonePause)
        #
        menu=wx.Menu()
        menu.Append(ID_APRI,'Apri...' )
        menu.Append(ID_ESCI,'Esci' )
        #
        menuBar=wx.MenuBar()
        menuBar.Append(menu,'&File' )
        self.SetMenuBar(menuBar)
        wx.EVT_MENU(self,ID_APRI,self.Apri)
        wx.EVT_MENU(self,ID_ESCI,self.Esci)
        #
        self.Show(True)
        #
        self.StatutsPause=False #all'inizio e' impostato su False

        self.canzone=""
        self.player=pymedia.Player()

    def Play(self,event):
        if (self.canzone!=''):
            if (self.player.isPlaying()==False):
                self.player=pymedia.Player()
                self.player.start()
                self.player.startPlayback(self.canzone)
        else:
            wx.MessageBox("Selezionare una canzone","Info", wx.OK | wx.ICON_INFORMATION)

    def Pause(self,event):
        try:
            if(self.player.isPlaying()==True)and(self.StatutsPause==False):
                self.player.pausePlayback()
                self.StatutsPause=True
            elif(self.StatutsPause==True):
                self.player.unpausePlayback()
                self.StatutsPause=False
        except AttributeError:
            pass

    def Stop(self,event):
        try:
            if (self.player.isPlaying()==True):
                self.player.stop()
                self.player.stopPlayback()
        except AttributeError:
            pass

    def Apri(self,event):
        path=wx.FileDialog(self, "Carica...", "", "", "*.mp3", wx.OPEN)
        if (path.ShowModal()==wx.ID_OK):
            self.canzone=path.GetPath()

    def Esci(self,event):
        self.Destroy()

#--Main--#
if (__name__=='__main__'):
    app=wx.PySimpleApp()
    frame=Main(None,-1,'Player' )
    frame.Show()
    app.MainLoop() 

Alla prossima…!!! :-)


Risposte

  1. good^^ hai dell’altra documentazione su questa libreria? mi interesserebbe applicarla magari con differenti usi..

  2. Ciao cirio la documentazione per PyMedia la trovi qui : http://pymedia.org/docs/index.html
    sono elencati gli oggetti per gestire sia l’audio che il video ,alcuni scripts di esempio li trovi qui : http://pymedia.org/tut/index.html

    Se ti serve aiuto chiedi pure!

  3. ti ringrazio;)


Lascia un commento

La tua risposta:

Categorie