SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
INTERACT! with
      the Flash Platform
SESSION overview
  our DO’S and DONT’S

  interaction with
      Sound
      Camera
      Mobile /Other devices
  Q and hopefully A

  DEMO’s
our DO’S and DONT’S
Wouter Verweirder
Belgian Citizen, Lord of Sealand
                                   @wouter
our DO’S and DONT’S
  I DO:
      Spend a yearly budget of € 200
       to lightsaber apps, noble titles, …
      Teach hardcore AS3 at HOWEST
      Am a Happy Banana
      Cheat on Flash Games

  I DON’T
      Use the lightsaber apps or noble
       titles.
our DO’S and DONT’S




        @newmovieclip
our DO’S and DONT’S
        I DO:
            Lecture
            Write
            Organise
            Like Happy-Banana!


        I DON’T
            Do sports, eat healthy and have a
             girlfriend 
MAKE SOME NOISE !!
INTERACT! with sound
INTERACT! with sound
  flash.media.sound

  More control about input:
     flash.media.Microphone
     flash.media.SoundChannel

  More control about output:
     flash.media.SoundTransform
INTERACT! with sound
  Microphone
     Static getMicrophone() method

    setLoopback() + setUseEchoSurpression()

    Microphone.activityLevel (0-100)

    Capturing Microphone
       SampleDataEvent dispatched
       Write to ByteArray
INTERACT! with sound
  SampleDataEvent
     Contains sample data: event.data
        = ByteArray instance
        readFloat() method avances through
         available bytes 4 at a time.
 soundBytes

   9	
     10	
       11	
     12	
     13	
     14	
     15	
     16	
     17	
     18	
  




                    readFloat()                            next starting point
INTERACT! with sound
  Microphone.rate determines how many samples
   are used every time the SampleDataHandler is
   called.
         rate: 44  44,100 khz  8192 samples
         rate: 22  22,050 kHz  4096 samples
         rate: 11  11,025 kHz  2048 samples
INTERACT! with sound
Capture the samples and save in ByteArray:




Create new Sound instance
INTERACT! with sound
Fill the Sound with the captured soundBytes
DEMO
INTERACT! with Camera
INTERACT! with Camera
  flash.media.Camera

  Camera.getCamera();

  Video.attachCamera(camera)

  Interactions:
      activityLevel + motionLevel  motion
       detected
      Pixel changes
INTERACT! with Camera
  Track pixel changes

      Draw video into BitmapData instance
      Use Difference blendmode
      Set threshold and give pixels color
      Check for color change
INTERACT! with Camera
  flash.media.CameraRoll
    CameraRoll.browseForImage()
    CameraRoll.addBitmapData()
        Check CameraRoll.supportsAddBitmapData
         property

  flash.media.CameraUI
    CameraUI.launch(MediaType.IMAGE);
    CameraUI.launch(MediaType.VIDEO);
        Listen for Event.SELECT, Event.CANCEL
        Event.data = MediaPromise instance
        Use Loader.loadFilePromise() to load media
         promise
INTERACT! with Camera
  flash.media.MediaPromise
      = promise to deliver a media object (image or
       video)
      Access to the actual file: use the File Property
          Eg: promise.file.url,
           promise.file.nativePath,...
DEMO
INTERACT! with Touch
INTERACT! with Touch
  Native MouseEvents also supported.

  flash.ui.Multitouch
      TouchEvent
      GestureEvent

  Plan:
     Step 1: Set the inputMode
     Step 2: Check if MultiTouch is supported
     Step 3: Add listeners for user interaction
     Step 4: Write handler methods to react on UI
INTERACT! with Touch
  TouchEvent
      COOL: pressure property: between 0 and 1
      TOUCH_BEGIN, TOUCH_END,
       TOUCH_TAP,...

  GestureEvent / TransformGestureEvent
     More complex user contact
     GESTURE_TWO_FINGER_TAP
     ROTATE, SWIPE, ZOOM,...
INTERACT! with Touch
  Multitouch.supportsTouchEvents

  Multitouch.maxTouchPoints

  TouchEvent has property touchPointID

  Dragging : startTouchDrag, stopTouchDrag
DEMO
INTERACT! with Devices
INTERACT! with Devices
  Use devices capabilities als input
     Adobe AIR for Android
     Adobe AIR for IOS

  flash.sensors.Accelerometer
      Using the motion sensor of Device
INTERACT! with Devices
  AccelerometerEvent contains data
     AccelerationEvent.accelerationX
     AccelerationEvent.accelerationY
     AccelerationEvent.accelerationZ

  Send the data to a Server
     UDP would be nice…
     Flash.net.Socket (TCP/IP)
     Create Socket Server with Adobe AIR 
INTERACT! with Devices
  CLIENT applications: Socket class




  CLIENT sents commands to the SocketServer
INTERACT! with Devices
  ServerSocket: listen for connections on port




  When client is connected: SOCKET_DATA
INTERACT! with Devices
  Handle the incoming data
DEMO
INTERACT! with Kinect
  I can see, in 3D!




  Kinect data to flash: Sockets 
INTERACT! with Kinect
  AS3Kinect – Camera Images
     http://www.as3kinect.org/

  TUIOKinect – Blob cursor tracking
      https://code.google.com/p/tuiokinect/
      http://bubblebird.at/tuioflash/tuio-as3-library/
      http://silviopaganini.posterous.com/
       openkinect-flash-tuio-udp-flash-bridge

  OSCeleton – Skeleton Detection
     https://github.com/Sensebloom/OSCeleton
INTERACT! with Kinect
  as3osceleton
      Open-sourced today
      Runs on top of OSCeleton & TUIOKinect
      Translates joints into cursors using
       TUIOKinect bridge

  initial setup
INTERACT! with Kinect
  Event Driven:
     UserEvent.USER_JOINED
     UserEvent.USER_LEFT
     UserEvent.SKELETON_CREATED
     JointChangedEvent.JOINT_CHANGED




  Translation of hands to multitouch cursors
LETS PLAY SOME MUSIC !
Questions and hopefully
Answers
THANKS !!
Presenta3on	
  /	
  


THANKS !!
      Source	
  Code	
  demos:	
  

             http://
        factory.happy-
          banana.be/
           FITC2011

Contenu connexe

Similaire à interACT With The Flash Platform

Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Librarygraphitech
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the WebMaximiliano Firtman
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIsPearl Chen
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet ScenariosRicardo Fiel
 
Flash and Hardware
Flash and HardwareFlash and Hardware
Flash and HardwareKevin Hoyt
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Codemotion
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerSven Kräuter
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyMike Hagedorn
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhoneErin Dees
 
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...Amazon Web Services
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Contiki Operating system tutorial
Contiki Operating system tutorialContiki Operating system tutorial
Contiki Operating system tutorialSalah Amean
 
Creative spaces design_final
Creative spaces design_finalCreative spaces design_final
Creative spaces design_finalSiirus
 

Similaire à interACT With The Flash Platform (20)

Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Library
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the Web
 
Otto AI
Otto AIOtto AI
Otto AI
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIs
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet Scenarios
 
Flash and Hardware
Flash and HardwareFlash and Hardware
Flash and Hardware
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using Ruby
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
IsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for UnityIsoUnity: A retro-isometric toolkit for Unity
IsoUnity: A retro-isometric toolkit for Unity
 
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
AWS re:Invent 2016: Robots: The Fading Line Between Real and Virtual Worlds (...
 
MoMo Oct Event
MoMo Oct EventMoMo Oct Event
MoMo Oct Event
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Contiki Operating system tutorial
Contiki Operating system tutorialContiki Operating system tutorial
Contiki Operating system tutorial
 
Creative spaces design_final
Creative spaces design_finalCreative spaces design_final
Creative spaces design_final
 
Pebble wearables devcon
Pebble wearables devconPebble wearables devcon
Pebble wearables devcon
 

Dernier

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Dernier (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

interACT With The Flash Platform

  • 1. INTERACT! with the Flash Platform
  • 2. SESSION overview   our DO’S and DONT’S   interaction with   Sound   Camera   Mobile /Other devices   Q and hopefully A   DEMO’s
  • 3. our DO’S and DONT’S Wouter Verweirder Belgian Citizen, Lord of Sealand @wouter
  • 4. our DO’S and DONT’S   I DO:   Spend a yearly budget of € 200 to lightsaber apps, noble titles, …   Teach hardcore AS3 at HOWEST   Am a Happy Banana   Cheat on Flash Games   I DON’T   Use the lightsaber apps or noble titles.
  • 5. our DO’S and DONT’S @newmovieclip
  • 6. our DO’S and DONT’S   I DO:   Lecture   Write   Organise   Like Happy-Banana!   I DON’T   Do sports, eat healthy and have a girlfriend 
  • 9. INTERACT! with sound   flash.media.sound   More control about input:   flash.media.Microphone   flash.media.SoundChannel   More control about output:   flash.media.SoundTransform
  • 10. INTERACT! with sound   Microphone   Static getMicrophone() method   setLoopback() + setUseEchoSurpression()   Microphone.activityLevel (0-100)   Capturing Microphone   SampleDataEvent dispatched   Write to ByteArray
  • 11. INTERACT! with sound   SampleDataEvent   Contains sample data: event.data   = ByteArray instance   readFloat() method avances through available bytes 4 at a time. soundBytes 9   10   11   12   13   14   15   16   17   18   readFloat() next starting point
  • 12. INTERACT! with sound   Microphone.rate determines how many samples are used every time the SampleDataHandler is called.   rate: 44  44,100 khz  8192 samples   rate: 22  22,050 kHz  4096 samples   rate: 11  11,025 kHz  2048 samples
  • 13. INTERACT! with sound Capture the samples and save in ByteArray: Create new Sound instance
  • 14. INTERACT! with sound Fill the Sound with the captured soundBytes
  • 15. DEMO
  • 17. INTERACT! with Camera   flash.media.Camera   Camera.getCamera();   Video.attachCamera(camera)   Interactions:   activityLevel + motionLevel  motion detected   Pixel changes
  • 18. INTERACT! with Camera   Track pixel changes   Draw video into BitmapData instance   Use Difference blendmode   Set threshold and give pixels color   Check for color change
  • 19. INTERACT! with Camera   flash.media.CameraRoll   CameraRoll.browseForImage()   CameraRoll.addBitmapData()   Check CameraRoll.supportsAddBitmapData property   flash.media.CameraUI   CameraUI.launch(MediaType.IMAGE);   CameraUI.launch(MediaType.VIDEO);   Listen for Event.SELECT, Event.CANCEL   Event.data = MediaPromise instance   Use Loader.loadFilePromise() to load media promise
  • 20. INTERACT! with Camera   flash.media.MediaPromise   = promise to deliver a media object (image or video)   Access to the actual file: use the File Property   Eg: promise.file.url, promise.file.nativePath,...
  • 21. DEMO
  • 23. INTERACT! with Touch   Native MouseEvents also supported.   flash.ui.Multitouch   TouchEvent   GestureEvent   Plan:   Step 1: Set the inputMode   Step 2: Check if MultiTouch is supported   Step 3: Add listeners for user interaction   Step 4: Write handler methods to react on UI
  • 24. INTERACT! with Touch   TouchEvent   COOL: pressure property: between 0 and 1   TOUCH_BEGIN, TOUCH_END, TOUCH_TAP,...   GestureEvent / TransformGestureEvent   More complex user contact   GESTURE_TWO_FINGER_TAP   ROTATE, SWIPE, ZOOM,...
  • 25. INTERACT! with Touch   Multitouch.supportsTouchEvents   Multitouch.maxTouchPoints   TouchEvent has property touchPointID   Dragging : startTouchDrag, stopTouchDrag
  • 26. DEMO
  • 28. INTERACT! with Devices   Use devices capabilities als input   Adobe AIR for Android   Adobe AIR for IOS   flash.sensors.Accelerometer   Using the motion sensor of Device
  • 29. INTERACT! with Devices   AccelerometerEvent contains data   AccelerationEvent.accelerationX   AccelerationEvent.accelerationY   AccelerationEvent.accelerationZ   Send the data to a Server   UDP would be nice…   Flash.net.Socket (TCP/IP)   Create Socket Server with Adobe AIR 
  • 30. INTERACT! with Devices   CLIENT applications: Socket class   CLIENT sents commands to the SocketServer
  • 31. INTERACT! with Devices   ServerSocket: listen for connections on port   When client is connected: SOCKET_DATA
  • 32. INTERACT! with Devices   Handle the incoming data
  • 33. DEMO
  • 34. INTERACT! with Kinect   I can see, in 3D!   Kinect data to flash: Sockets 
  • 35. INTERACT! with Kinect   AS3Kinect – Camera Images   http://www.as3kinect.org/   TUIOKinect – Blob cursor tracking   https://code.google.com/p/tuiokinect/   http://bubblebird.at/tuioflash/tuio-as3-library/   http://silviopaganini.posterous.com/ openkinect-flash-tuio-udp-flash-bridge   OSCeleton – Skeleton Detection   https://github.com/Sensebloom/OSCeleton
  • 36. INTERACT! with Kinect   as3osceleton   Open-sourced today   Runs on top of OSCeleton & TUIOKinect   Translates joints into cursors using TUIOKinect bridge   initial setup
  • 37. INTERACT! with Kinect   Event Driven:   UserEvent.USER_JOINED   UserEvent.USER_LEFT   UserEvent.SKELETON_CREATED   JointChangedEvent.JOINT_CHANGED   Translation of hands to multitouch cursors
  • 38. LETS PLAY SOME MUSIC !
  • 41. Presenta3on  /   THANKS !! Source  Code  demos:   http:// factory.happy- banana.be/ FITC2011