Table of Contents

Audio Annotations for Documents (Draft)

Requirement

Content owner should be able to add voice annotations to the documents page by page and they should be playable on course player.

Implementation

Recording the audio

Recording audio can be done in two ways -

a) Recording the micrphone in memory of browser using flash player 11+ and upload to server.

b) Using microphone to a flash based media server.

As audio files are smaller in size compared to video files we can take approach (a) for now. A long term plan is to implement (b)

Right now recording is done on browser using - https://github.com/jwagener/recorder.js/

The recordings are done page by page using the flexpaper document viewer api and the javascript wrapper we wrote on top of recorder.js

Playback of the audio

Playback of the audio before saving to server is done using recorder.js API.

Playback of the audio after saving to is done using a jwplayer 5 plugin we wrote which internally uses a jwplayer playlist. This works in both flash and html5 only browsers.

Jwplayer 5 documentation reference - http://www.longtailvideo.com/support/jw5/

Previleges

1. Only owner of the document can record the audio annotations for the document content creation, course creation and content picker screens.

2. All the Users added the course to my learning will be able to play the audio annotations from their what i m working on panel.

Flow

To be updated with screenshots.

Database Changes

Added a new table audio_annotations

Table name - audio_annotations

Column_name type Description
id integer primary key
auhtor_id integer who created this annotation
published boolean whether audio annotations are published or not(Always true for now)
created_at date_time created date
updated_at date_timeupdated date
asset_id integer foreign key to the assets table.