videosnap: open source audio/video recording component

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:

A) click on the box with video
B) if you see no video, check your camera... ( need copywriter ).

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.
a) option to start playback automatically? default
b) Scrub should work in paused and play modes.

UI: re-record button ( note: current video will be deleted ) plus standard play controls

videostate = playback or playpaused

Component API

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:

 

Comments

blog comments powered by Disqus