According to Creating Complex Observations and Concepts, it currently doesn't support storing video and audio files as well as displaying them in the UI.
- Add a MediaHandler capable of storing and retrieving complex Obs for audio and videos.
- Add a WebMediaHandler(extends MediaHandler) which i believe should be able to play audio too(audio complex Obs) which would set the playback window depending whether it is a video Vs audio. Alternatively, WebMediaHandler could be an abstract class and we add 2 subclasses i.e WebAudioHandler and WebVideoHandler and these technically should just differ in terms of the playback window size to set in the browser since audio really only needs a small space to show progress of play.
For an example of a web handler see WebImageHandler in core
I would do this in a module to be able to start using the handler whenever it is ready