"""Programa Creado Por M8AX En Python Para S60 Con Una Utilidad Guapa... Un Detector De Sonidos. Nos Avisará De Sonido Detectado Mediante Llamada Perdida A Otro Movil Que Indiquemos O Mediante Sonido En El Mismo Movil Que Ejecuta La Aplicacion...""" import appuifw, miso, e32 import telephone import audio import os, stat def _raw_input( txt ): return appuifw.query( unicode( txt ), "text" ) def lerele(n): HOR=n/3600 MIN=(n /60)%60 SEG= n % 60 return (str(HOR)+"h:"+str(MIN)+"m:"+str(SEG))+"s" appuifw.app.title=u"^MvIiIaX^ Detector-Sonidos" appuifw.note(u"Bienvenid@ Al Programa ^MvIiIaX^ Detector De Sonidos Programado Por Marcos Ochoa Diez.", "info" ) aviso = int( _raw_input(u"Aviso De Sonido Detectado 1-Sonido 2-Otro Móvil Lla. Perd.") ) totalito=int( _raw_input(u"¿ Cuantos Sonidos Detectamos ?") ) if aviso==2: telefono = int( _raw_input(u"Número De Teléfono Para Avisar De Sonido Detectado: ") ) tiempo= int( _raw_input(u"Tiempo En Segundos De Duración De Llam. Perd..: ") ) print "Deja Tu Movil En La Mesa O En Donde Quieras Y El Movil Empezara A Detectar Ruidos. En 10 Segundos El Movil Comenzara A Vigilar... :)" e32.ao_sleep(15) running = 1 def set_exit(): global running running = 0 appuifw.app.exit_key_handler= set_exit cuen=0 sonidi=0 suma=0 while running==1: s = audio.Sound.open('e:\\mviiiax.amr') s.record() suma+=3 print "\n... Analizando ...\n" print "... M8AX Esta Escuchando Ruidos ..." print "\nTiempo Detectando Sonidos: ",lerele(suma) e32.ao_sleep(3) s.stop() if cuen>0: if (abs(os.stat("e:\\mviiiax.amr")[stat.ST_SIZE]-ocupacion))>150: appuifw.note(u"¡¡¡ Se Ha Detectado Un Ruido Extraño !!!", "info" ) if aviso==1: from audio import * antiro = 'e:\\Sounds\\Digital\\m8axdetecta.wav' vengaasonar = Sound.open(antiro) vengaasonar.play() e32.ao_sleep(5) else: telephone.dial(str(telefono)) e32.ao_sleep(tiempo) telephone.hang_up() suma+=5 sonidi+=1 print "\n" print sonidi, " Sonidos Detectados." cuen=0 else: cuen=1 ocupacion=os.stat("e:\\mviiiax.amr")[stat.ST_SIZE] f = open( "e:\\mviiiax.amr", "w" ) f.close() if sonidi==totalito: running=0 appuifw.note(u"Asunto Resuelto... Como Era De Esperar Gran M8AX... :)", "info" )