Re: Extending MediaRecorder to record from Web Audio node faster than real time?

The 2nd parameter, output, specifies which output of node the data to record will come from, similar to the one used in AudioNode.connect() [1]. The next one, options, is intended to be used for recorder properties [2] setting and is irrelevant to this discussion. (Should never put it in. Sorry about that.)
Please just consider this one:
  Constructor(AudioNode node, optional unsigned long output = 0)

In essence, this constructor creates a (invisible) connection from given node to the recorder to be constructed much like using MediaStreamAudioDestinationNode [3], just w/o MediaStream and records faster than real time for OfflineAudioContext.

[1] http://webaudio.github.io/web-audio-api/#widl-AudioNode-connect-void-AudioNode-destination-unsigned-long-output-unsigned-long-input
[2] http://dev.w3.org/2011/webrtc/editor/MediaRecorder.html#properties
[3] http://webaudio.github.io/web-audio-api/#the-mediastreamaudiodestinationnode-interface

Thanks.
—
John

Randy Lin <rlin@mozilla.com> 於 2014/8/20 下午4:10 寫道:

> For this API change:
>  [Constructor(AudioNode node, optional unsigned long output = 0, optional MediaRecorderOptions options)]
> interface MediaRecorder : EventTarget {
> 
> May I know what's output and options stand for?
> 
> -------------------------------------
> -rlin
> 
> ----- 原始郵件 -----
> 寄件者: "John Lin" <jolin@mozilla.com>
> 收件者: public-media-capture@w3.org
> 寄件備份: 2014 8 月 19 星期二 下午 4:23:00
> 主旨: Extending MediaRecorder to record from Web Audio node faster than real time?
> 
> Hi all,
>  Currently MediaRecorder only records data from media stream, AIUI [1], is a real time source. That means recording would take as long as content duration.
>  Some use cases, such as cropping and cropping 1st half of an one hour speech audio clip, would not be very useful if saving the result needs such a long time to complete.
>  Web Audio API already defines OfflineAudioContext [2] to support processing faster than real time use cases.
>  By adding a new Constructor to MediaRecoder API:
> 
>    Constructor(AudioNode node, optional unsigned long output = 0, optional MediaRecorderOptions options)
> 
>  web applications can implement use cases that need to save processed audio with OfflineAudioContext and MediaRecorder.
> 
>  What do you think?
> 
> [1] final paragraph of http://www.w3.org/TR/mediacapture-streams/#introduction
> [2] http://webaudio.github.io/web-audio-api/#the-offlineaudiocontext-interface
> 
> —
> John
> 
> 

Received on Wednesday, 20 August 2014 09:32:46 UTC