[Python] Re: Informazioni su pymedia...

Lawrence Oluyede l.oluyede a gmail.com
Dom 22 Apr 2007 12:35:28 CEST


On 4/22/07, Alberto <darsana85 a libero.it> wrote:
> Salve innanzitutto mi scuso per averla contattata direttamente nella sua
> mail e non nella ML di python,leggendo questa discussione :

Prima cosa: dammi pure del tu :-)

Mi capita a volte di ricevere mail private di supporto e rispondo
volentieri ma consiglio _sempre_ di usare la mailing list o il
newsgroup per il semplice fatto che, nel caso io abbia una soluzione,
la conversazione rimane pubblica e quindi può essere utile a qualcun
altro in futuro. Altrimenti il semplice concetto "tre teste sono
meglio di una" dovrebbe bastare a scoraggiare le persone a chiedere
direttamente a me che non ne so poi così tanto ;-)

> ho visto che lei ha usato pymedia sopratutto per l'audio,volevo chiederle
> un'informazione sulla registrazione voce,vedendo l'esempio postato sul sito
> di pymedia il programma registra per una durata di secondi prefissata,io
> invece ne sto sviluppano una con un'interfaccia grafica (WxPython) solo che
> quando attivo l'evento di registrazione (tramite la pressione del bottone)
> l'applicazione va il "sleep" e non mi permette di premere il bottone stop
> per fermare la registrazione,

Ti riferisci a questo? http://pymedia.org/tut/src/voice_recorder.py.html

Con sleep intendi che si congela?

> per il player audio usando il metodo Playback
> tutto funziona normalmente mentre per la registrazione non ne vengo a
> capo...lei ha qualche suggerimento da darmi,magari ha già affrontato questo
> tipo di problema...

Da come l'hai messa sembra che sia un problema non insormontabile.
Quando usi una applicazione con una GUI essa ha un main loop in cui
vengono gestiti i vari eventi. Nel momento in cui lanci una
applicazione di terze parti o una libreria di terze parti come pymedia
c'è la possibilità che essa prenda il controllo del loop finché non ha
finito congelando l'applicazione in cui è ospite. Il problema è che si
congela la applicazione quindi non hai modo di bloccare pymedia
dall'applicazione stessa con il pulsante stop.

Non conosco bene wx ma Y3s che frequenta la mailing list e il
newsgroup ne sa a iosa. Ricordo qualcosa a riguardo dell'uso di
wx.Yield per evitare il congelamento dell'event loop. Nel peggiore dei
casi bisognerà wrappare il codice per la registrazione in un thread
separato e passarlo all'applicazione contenente la UI tramite una
Queue

ps. ho inserito l'indirizzo dela mailing list in CC


-- 
Lawrence, oluyede.org - neropercaso.it
"It is difficult to get a man to understand
something when his salary depends on not
understanding it" - Upton Sinclair


Maggiori informazioni sulla lista Python