Sarah Allen, Bret Simister, Mightyverse
The images below are wireframes, which means they do not represent the final visual design and in some cases are missing UI elements. Please refer to the text and use the images just to get a senses of the basic flow. A working, but incomplete, implementation is posted on github.
1) If camera/mic not already authorized, Flash privacy dialog should appear when the component appears videostate = notallowed |
![]() |
2) When camera/mic are not permitted (either by clicking "Deny" in the Flash privacy dialog or having a remembered setting), a message will be displayed with a button to bring up Flash dialog again to allow access to the video camera. videostate = notallowed |
![]() |
3) When camera/mic are permitted (either by clicking "Allow" in the Flash privacy dialog or having a remembered setting), the record button, mic inidicator, and camera control appear. If the correct camera is selected then video from the camera will appear, else the screen will be blank. videostate = waiting
|
![]() ![]() |
4) User clicks on a camera icon to bring up a set of views associated with each camera driver. They are instructed to:
videostate = waiting |
|
4) Recording: countdown (optional) User has pressed the record button. If a countdown options is set, then the animation will play before recording begins. videostate = countdown |
|
5) Recording UI Controls: Stop button, Audio Levels, Time span. videostate = recording |
![]() |
6) Playback User presses Stop or record limit exceeded. UI: re-record button ( note: current video will be deleted ) plus standard play controls videostate = playback or playpaused |
![]() |
The video component will be in various states for hich a developer may want to trigger changes in display outside of the component. It will have a text attribute called "videostate" when the state changes an event will be broadcast "onvideostate" with the text of the state passed as a parameter (or should it be the recorder object?).
States: