Olá pessoal.
Tenho um dingo em mp3 pequeno.
Gostaria de colocar dois botões: um play e um pause nele alem de carrega-lo automaticamente ao iniciar o fime.
Tenho isso em AS2 mas em AS3 não estou achando.
Muito obrigado a quem puder ajudar.
Publicidade
|
|
Page 1 of 1
play stop som/audio com AS3 [RESOLVIDO]
#2
Posted 23 December 2011 - 06:37 PM
Bom, tentei usar assim:
Não deu erro no IDE do Flash. Mas, quando rodo o swf gerado da o seguinte erro:
Onde estou errando?
import flash.display.MovieClip;
//
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
//
var sound:Sound;
var channel:SoundChannel;
sound = new Sound(new URLRequest('sons/singo.mp3'));
carregar();
function tocar(e:Event = null)
{
channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, tocar);
}
function parar(e:Event = null)
{
channel.stop();
channel.removeEventListener(Event.SOUND_COMPLETE, parar);
}
function carregar (e:Event = null)
{
channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, carregar);
}
Não deu erro no IDE do Flash. Mas, quando rodo o swf gerado da o seguinte erro:
SecurityError: Error #2000: N⭠h�ontexto de seguran柠ativo.
Onde estou errando?
#3
Posted 23 December 2011 - 07:02 PM
Bom. Consegui em partes.
Para carregar o som foi fazer isso:
Agora tenho outros dois problemas:
1)Como faço agora para dar play e pause nesse som usando as3?
Essa pergunta é porque : nome_do_botao.onRelease = function........... não funcionou no as3.
2) Nao sei o que foi que eu fiz, mas agora meu painel de AS em todas a linhas aparece o carcter PI. É o do matemática mesmo. Como faz para tirar isso?
Para carregar o som foi fazer isso:
var soundClip:Sound=new Sound();
//Create a new SoundChannel Object
var sndChannel:SoundChannel=new SoundChannel();
//Load sound using URLRequest
soundClip.load(new URLRequest("sons/dingo.mp3"));
//Create an event listener that wll update once sound has finished loading
soundClip.addEventListener(Event.COMPLETE,onComplete,false,0,true);
function onComplete(evt:Event):void {
//Play loaded sound
sndChannel=soundClip.play();
}Agora tenho outros dois problemas:
1)Como faço agora para dar play e pause nesse som usando as3?
Essa pergunta é porque : nome_do_botao.onRelease = function........... não funcionou no as3.
2) Nao sei o que foi que eu fiz, mas agora meu painel de AS em todas a linhas aparece o carcter PI. É o do matemática mesmo. Como faz para tirar isso?
#5
Posted 24 December 2011 - 01:38 PM
Bom, consegui assim:
Agora preciso saber como fazer uma condiçao que diga: se o som já estive tocando, o botão play não execute açao. ou seja, não starte o som novamente
E sobre o caracter pi, foi só dar ctrl+shift+8 ai ele some.
stop();
import flash.display.MovieClip;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest
var sound:Sound;
var channel:SoundChannel;
sound = new Sound(new URLRequest('sons/dingo.mp3'));
function tocar(e:Event = null)
{
channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, tocar);
}
function parar(e:Event = null)
{
channel.stop();
channel.removeEventListener(Event.SOUND_COMPLETE, parar);
}
function carregar (e:Event = null)
{
channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, carregar);
}
carregar();
toca.addEventListener(MouseEvent.CLICK, tocar);
para.addEventListener(MouseEvent.CLICK, parar);
Agora preciso saber como fazer uma condiçao que diga: se o som já estive tocando, o botão play não execute açao. ou seja, não starte o som novamente
E sobre o caracter pi, foi só dar ctrl+shift+8 ai ele some.
#6
Posted 24 December 2011 - 07:59 PM
Ok.
Como eu faço para verificar se o som esta tocando sem ter que usar uma variavel booleana?
Existe algo do tipo
if(!playng)
{
}
?
Porque se eu usar boleano, depois que o som acabar, caso eu queira tocar ele de novo não daria. A não ser que eu clikasse no stop para virar a booleana. E eu não queria isso pois o visitante pode pensar que é defeito do site e não é.
Como eu faço para verificar se o som esta tocando sem ter que usar uma variavel booleana?
Existe algo do tipo
if(!playng)
{
}
?
Porque se eu usar boleano, depois que o som acabar, caso eu queira tocar ele de novo não daria. A não ser que eu clikasse no stop para virar a booleana. E eu não queria isso pois o visitante pode pensar que é defeito do site e não é.
#7
Posted 26 December 2011 - 10:35 AM
Pessoal, antes de mais nada, um Feliz Ano Novo a todos.
Bom.
Aqui estou tentando fazer duas coisas e não esta dando certo.
1) imprimir no campo de texto, a quantidade de bytes carregados do audio
2) setar a varfiavel booleana isPlayng para false assim que a divisão de bystes caRREGADOS pelo totalk de bytes der 1.
Onde estou errando?
Bom.
function tocar(e:Event = null)
{
if (isPlaying==false)
{
var channel = sound.play();
var totalBytes:Number = sound.bytesTotal;
var loadeBytes:Number = sound.bytesLoaded;
channel.addEventListener(Event.SOUND_COMPLETE, carregar);
txtBl.text =String(loadeBytes);
if(loadeBytes/totalBytes<1)
{
isPlaying=true;
}
else
{
isPlaying=false;
}
}
}
Aqui estou tentando fazer duas coisas e não esta dando certo.
1) imprimir no campo de texto, a quantidade de bytes carregados do audio
2) setar a varfiavel booleana isPlayng para false assim que a divisão de bystes caRREGADOS pelo totalk de bytes der 1.
Onde estou errando?
#8
Posted 26 December 2011 - 05:28 PM
Como eu faço para pegar o valor de channel.position?
Eu sei que vai de 0 até 1 mas não achei no tutoriais como recuperar essew numero.
Tentei assim mas da erro:
Da o seguinte erro:
Como corrijo isso?
Eu sei que vai de 0 até 1 mas não achei no tutoriais como recuperar essew numero.
Tentei assim mas da erro:
var sound:Sound;
var channel:SoundChannel;
var posicao:Number = channel.position;
sound = new Sound(new URLRequest('sons/dingo.mp3'));
if ( posicao==0.8)
{
parar(); // esse parar(), é só paara testar se seta funcionando o if
}
Da o seguinte erro:
TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula. at index_fla::MainTimeline/frame2()
Como corrijo isso?
#9
Posted 26 December 2011 - 06:54 PM
Bom.
consegui
Acontece que eu estava pensando que o SOUND_COMPLETE, se referia ao som terminado seu download e não o som em execuçao ao seu termino.
Então, fiz assim na funçao toca:
Bom obrigado a todos que ajudarma e um Feliz Ano Novo
consegui
Acontece que eu estava pensando que o SOUND_COMPLETE, se referia ao som terminado seu download e não o som em execuçao ao seu termino.
Então, fiz assim na funçao toca:
function tocar(e:Event = null)
{
if (isPlaying==false)
{
if(channel)
{
channel.stop();
}
channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, parar); (AQUI ESTVA PONDO REFERENCIA A FUNÇÃO TOCAR EM VEZ DE A FUNÇAO PARAR. AQUI O ERRO.)
isPlaying=true;
}
}
Bom obrigado a todos que ajudarma e um Feliz Ano Novo
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Comissão aprova realização de seminário sobre crimes na internet
|
Notícias |
Notícias
|
|
|
|
Exibindo campos do mysql
se acessado com link não funciona.pq ? |
PHP |
pcclaro
|
|
|
|
Lucro da dona da Submarino e da Americanas.com cai 23% em 2009
|
Notícias |
Notícias
|
|
|
|
Santistas comemoram título; veja frases
|
Notícias |
Notícias
|
|
|
|
Efeito ou fonte com pingos de tinta
|
Fireworks |
Fábio Herval
|
|
|
|
LG lança celular com câmera de 5,1 megapixels
|
Notícias |
Notícias
|
|
|
|
Confira detalhes antes de comprar TV para Blu-ray
|
Notícias |
Notícias
|
|
|
|
Ajuda para deletar imagens usando FileSystemObject
quem pode me ajudar com algum codigo |
ASP |
Alan Venancio
|
|
Publicidade
|
|

Help













