×
Namespaces

Variants
Actions

Archived:Como colocar um som como toque do celular em PySymbian

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)


Este trecho mostra como colocar um som como toque em PySymbian.

Article Metadata

Testado com
Aparelho(s): Nokia N95, Nokia E90

Compatibilidade
Plataforma(s): S60 1ª Edição, S60 2ª Edição, S60 3ª Edição

Artigo
Palavras-chave: audio
Tradução:
Por maiconherverton
Última alteração feita por hamishwillee em 14 Jun 2013

Código fonte

from struct import pack
from math import sin, pi
import e32, audio
 
 
#Função para gerar um arquivo como toque
def au_file(name="out.au", freq=400, length=2, A=0.5):
f = open(name, 'wb')
f.write('.snd')
f.write(pack('>5L', 24, -1, 2, 8000, 1))
T = 8000. / freq
for i in range(length * 8000):
angle = 2 * pi * i / T
val = pack('b', A * sin(angle) * 127)
f.write(val)
f.close()
 
#Função para reproduzir o arquivo de som
def tone(freq=440, duration=1000, volume=0.5):
#Ler o arquivo temporário
f = open("D:\\out.au", 'wb')
f.write('.snd' + pack('>5L', 24, 8 * duration, 2, 8000, 1))
for i in range(duration * 8):
sin_i = sin(i * 2 * pi * freq / 8000) #Sine wave
f.write(pack('b', volume * 127 * sin_i))
f.close()
#Executa o arquivo
s = audio.Sound.open("D:\\out.au")
s.play()
while s.state() == 2: #Toca
e32.ao_yield()
s.close()
 
au_file()
tone()

Resultados

Um som é colocado como toque e é tocado.

This page was last modified on 14 June 2013, at 05:04.
50 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×