Note: This feature is available in Dedicated Web Workers.
The RTCEncodedAudioFrame() constructor creates a new and fully independent RTCEncodedAudioFrame object.
The new object is a deep clone of the original object data and metadata, with any metadata specified in the options parameter overwriting the copied values.
new RTCEncodedAudioFrame(originalFrame);
new RTCEncodedAudioFrame(originalFrame, options);originalFrameThe frame to be copied.
options OptionalThis is an object with the following property:
metadata OptionalAn object setting the frame metadata. This is an object with the same properties as the object returned by RTCEncodedAudioFrame.getMetadata().
TypeErrorRangeErrorThis snippet shows how you might copy a frame and modify its metadata. In this case we just update the capture time.
// Frame is an incoming RTCEncodedAudioFrame
frame.getMetadata();
const newFrame = new RTCEncodedAudioFrame(frame, {
metadata: {
captureTime: frame.metadata.captureTime + 3,
},
});This kind of modification might be useful if you need to create multiple outgoing frames from a single incoming frame; for example, in order to relay media to another peer on the network. Generally you will not need to modify the metadata for a frame.