Neler yeni

Yeni mesajlar Yeni konular En çok mesaj En çok tepki En çok görüntülenen

Flash CS6 record audio yardım (Ücretli)

and61

🌱Yeni Üye🌱
Katılım
21 Ocak 2013
Mesajlar
8
Tepkime puanı
0
Merhaba arkadaşlar actionscript konusunda çok az bilgim var fakat yapmam gereken bir proje için yardımınıza ihtiyacım var. Record audio olayı sesi kaydedip tekrar çalma aslında aşağıdaki kodlarla buton ekleyerek yaptım fakat benim istediğim, uygulama açıldığı zaman herhangi bir buton olmayacak sadece kişi konuştuğu zaman kayıt başlayacak ve konuşması bittiğinde kayıt işlemi de bitecek ardından 0,5 saniye veya 1 saniye sonra kendiliğinden bu kayıtı çalacak. Tabii tekrar konuşmaya başladığı zaman yine kayıt yapıp çalacak ayrıca mümkünse bu çalınan sesin tonunun da değişik olmasıni istiyorum yani kullanıcının sesi çalınacağı için aynı olmasını istemiyorum. Arkadaşlar benim için gerçekten çok önemli bir konu yardım edecek varsa ücretiyle beraber mail atabilir mi?
andcreative[at]hotmail.com

Kod:
package  {
          import flash.display.Sprite;
          import flash.media.Microphone;
          import flash.media.Sound;
          import flash.media.SoundChannel;
          import flash.events.MouseEvent;
          import flash.events.SampleDataEvent;
          import flash.utils.ByteArray;
          import flash.events.Event;
          import flash.media.SoundMixer;
          import flash.media.AudioPlaybackMode;
 
          public class RecTest extends Sprite {
 
                    var mic:Microphone;
                    var s:Sound;
                    var sc:SoundChannel;
                    var nowRecording:Boolean = false;
                    var nowPlaying:Boolean = false;
                    var recordedBytes:ByteArray;
 
                    public function RecTest() {
 
                              SoundMixer.audioPlaybackMode = AudioPlaybackMode.MEDIA;
 
                              mic = Microphone.getMicrophone();
                              mic.rate = 44;
                              mic.gain = 70;
                              mic.setSilenceLevel(5);
 
                              s = new Sound();
 
                              recordedBytes = new ByteArray();
 
                              recorder.addEventListener(MouseEvent.CLICK, record);
                               player.addEventListener(MouseEvent.CLICK, playBack);
                    }
                    
 
 
                    function record(e:MouseEvent) {
                              if (!nowRecording) {
                                        trace("recording");
                                        recordedBytes.clear();
                                        mic.addEventListener(SampleDataEvent.SAMPLE_DATA, getMicAudio);
                                        nowRecording = true;
                              } else {
                                        trace("recording stopped");
                                        mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, getMicAudio);
                                        nowRecording = false;
                              }
                    }
 
                    function getMicAudio(e:SampleDataEvent) {
                              recordedBytes.writeBytes(e.data);
                    }
 
                    function playBack(e:MouseEvent) {
                              if (!nowPlaying) {
                                        trace("playing");
                                        recordedBytes.position = 0;
                                        s.addEventListener(SampleDataEvent.SAMPLE_DATA, playAudio);
                                        sc = s.play();
                                        sc.addEventListener(Event.SOUND_COMPLETE, stopPlayback, false, 0, true);
                                        nowPlaying = true;
                              } else {
                                        sc.stop();
                                        stopPlayback();
                              }
                    }
 
                    function stopPlayback(e:Event=null) {
                              trace("playing stopped");
                              s.removeEventListener(SampleDataEvent.SAMPLE_DATA, playAudio);
                              nowPlaying = false;
                    }
 
                    function playAudio(e:SampleDataEvent) {
                              for (var i:int = 0; i < 8092 && recordedBytes.bytesAvailable > 0; i++) {
                                        var sample:Number = recordedBytes.readFloat();
                                        e.data.writeFloat(sample);
                                        e.data.writeFloat(sample);
                              }
                    }
          }
 
}
 

Benzer konular

Üst