·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0声音波形转换

时间:2013-11-09 15:03flash023
as3声音,as3波形,不能显示波型,只能显示音量,或者在enterFrame中显示音量,搞个伪波型吧

as3声音,as3波形,不能显示波型,只能显示音量,或者在enterFrame中显示音量,搞个伪波型吧

  1. package 
  2.  
  3. import flash.display.Sprite; 
  4. import flash.events.Event; 
  5. import flash.media.Microphone; 
  6. import org.papervision3d.materials.ColorMaterial; 
  7. import org.papervision3d.materials.utils.MaterialsList; 
  8. import org.papervision3d.objects.primitives.Cube; 
  9. import org.papervision3d.view.BasicView; 
  10. /** 
  11. * ... 
  12. * @author FLASH023 
  13. */ 
  14. public class Main extends BasicView 
  15.         private var mic:Microphone; 
  16.         private var materialslist:MaterialsList; 
  17.         private var cube_array:Array; 
  18.         public function Main():void { 
  19.                 init(); 
  20.                 startRendering (); 
  21.         } 
  22.         private function init():void { 
  23.                 mic=Microphone.getMicrophone (); 
  24.                 mic.setLoopBack(true); 
  25.                 mic.setUseEchoSuppression(true); 
  26.                 cube_array = []; 
  27.                 wavCubeInit(); 
  28.                 cameraInit(); 
  29.         } 
  30.         private function cameraInit():void { 
  31.                 camera.z=200
  32.                 cameracamera.x=camera.y=100
  33.         } 
  34.         private function wavCubeInit():void { 
  35.                 var _cormaterial:ColorMaterial = new ColorMaterial(0x096288); 
  36.                 materialslist =new MaterialsList; 
  37.                 materialslist.addMaterial (new ColorMaterial(0xB9DFCF), "top"); 
  38.                 materialslist.addMaterial (_cormaterial, "bottom"); 
  39.                 materialslist.addMaterial (_cormaterial , "front"); 
  40.                 materialslist.addMaterial (_cormaterial, "back"); 
  41.                 materialslist.addMaterial (_cormaterial, "left"); 
  42.                 materialslist.addMaterial (_cormaterial, "right"); 
  43.                 var _p:uint = 10
  44.                 while (_p--) { 
  45.                         var _cube:Cube = new Cube(materialslist, 20, 10, 20); 
  46.                         _cube .z = -_p * 20; 
  47.                         cube_array.unshift(_cube); 
  48.                         scene.addChild (_cube ); 
  49.                 } 
  50.         } 
  51.         override protected function onRenderTick(_evt:Event=null ):void { 
  52.                 var _n:int = int(mic.activityLevel/10); 
  53.                 for (var _p:String in  cube_array) { 
  54.                         Cube(cube_array[_p]).visible = Boolean (int(_p) <= _n); 
  55.                 } 
  56.                 super.onRenderTick(); 
  57.         } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器