※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


forked from : TheCoolMuseum's マイク入力テスト(FP10.1専用) [diff(71)]

FORKED

forked from: マイク入力テスト(FP10.1専用) 書き換えてみた リング変調によるボイスチェンジャ [diff(10)]

  1. // forked from hirossy's forked from: マイク入力テスト(FP10.1専用) 書き換えてみた
  2. // forked from TheCoolMuseum's マイク入力テスト(FP10.1専用)
  3. package {
  4.     import flash.display.*;
  5.     import flash.events.SampleDataEvent;
  6.     import flash.media.Microphone;
  7.     import flash.media.Sound;
  8.     
  9.     public class FlashTest extends Sprite
  10.     {
  11.         private var buffer:Array = [];
  12.         private var mic:Microphone;
  13.         private var sound:Sound;
  14.         
  15.         private var depth:Number = 1// parameter 1
  16.         private var rate:Number = 160;  // parameter 2
  17.         private var count:int = 0;
  18.         
  19.         public function FlashTest()
  20.         {
  21.             mic = Microphone.getMicrophone();
  22.             mic.rate = 44;
  23.             mic.setUseEchoSuppression(true);
  24.             mic.addEventListener(SampleDataEvent.SAMPLE_DATA, sampling);
  25.                 
  26.             sound = new Sound();
  27.             sound.addEventListener(SampleDataEvent.SAMPLE_DATA, playing);
  28.             sound.play();
  29.         }
  30.         
  31.         private function sampling(event:SampleDataEvent):void
  32.         {
  33.             while (event.data.bytesAvailable)
  34.             {
  35.                 buffer.push(event.data.readFloat());
  36.             }
  37.         }
  38.         
  39.         private function playing(event:SampleDataEvent):void
  40.         {
  41.             for (var i:int=0; i<8192; i++)
  42.             {
  43.                 var value:Number = 0;
  44.                 
  45.                 if (buffer.length > 0)
  46.                     value = buffer.shift();
  47.                 
  48.                 var keisu:Number = depth * Math.sin(2.0 * Math.PI * rate * count / 44100);
  49.                 value = value * keisu;
  50.                 
  51.                 event.data.writeFloat(value);
  52.                 event.data.writeFloat(value);
  53.                 
  54.                 count = (count++ > 44100)? 0:count;
  55.             }
  56.         }
  57.     }
  58. }
noswf
Get Adobe Flash Player