Skip to content

Commit e4b4dfe

Browse files
committed
VAT- 1859: add record saving
1 parent ea51058 commit e4b4dfe

18 files changed

+312
-286
lines changed

dist/CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,25 @@ No fixes were made.
5151

5252
Each time you add new changes to this file, please add them bellow this line - i.e. between the [insertion](#insterion) section and the last version added.
5353

54+
## [2.0.9] - 2024-01-25
55+
56+
### Added
57+
58+
- `onDownloadRecording` method function that downloads the recoreded microphone as `audio/webm`
59+
- `getRecordingAsBlobChunks` method function that returns all the recoreded microphone chunks as an array of blob
60+
61+
### Changed
62+
63+
No changes were made.
64+
65+
### Removed
66+
67+
Nothing was removed.
68+
69+
### Fixed
70+
71+
No fixes were made.
72+
5473
## [1.4.0] - 2022-06-13
5574

5675
### Added

dist/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,40 @@ You can read more on the following links:
623623
- [https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices)
624624
- [https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)
625625

626+
### onDownloadRecording
627+
628+
Call this methos if you want to download the audio file as `audio/webm` type.
629+
630+
### getRecordingAsBlobChunks
631+
632+
Call this methos if you want to get all chunks from your michrophone as blobs.
633+
634+
You can then use this to download the audio as you wish. Below is an example of downloading as `audio/webm`.
635+
636+
```javascript
637+
// ... code
638+
try {
639+
const allBlobData = vtc.getRecordingAsBlobChunks();
640+
if (allBlobData && allBlobData.length) {
641+
const audioBlob = new Blob(allBlobData, {
642+
type: "audio/webm",
643+
});
644+
const audioUrl = URL.createObjectURL(audioBlob);
645+
const anchor = document.createElement("a");
646+
anchor.style.display = "none";
647+
document.body.appendChild(anchor);
648+
anchor.href = audioUrl;
649+
anchor.download = "audio.webm";
650+
anchor.click();
651+
window.URL.revokeObjectURL(audioUrl);
652+
anchor?.remove();
653+
}
654+
} catch (error) {
655+
console.error(error);
656+
}
657+
// ... code
658+
```
659+
626660
## Browser Support
627661
628662
We officially support the latest versions of the following browsers:

dist/cjs/components/ApiKeyGenerator.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,4 @@ var ApiKeyGenerator = /*#__PURE__*/function () {
9595
}]);
9696
return ApiKeyGenerator;
9797
}();
98-
var _default = ApiKeyGenerator;
99-
exports["default"] = _default;
98+
var _default = exports["default"] = ApiKeyGenerator;

dist/cjs/components/InstanceReservation.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,4 @@ var InstanceReservation = /*#__PURE__*/function () {
9595
}]);
9696
return InstanceReservation;
9797
}();
98-
var _default = InstanceReservation;
99-
exports["default"] = _default;
98+
var _default = exports["default"] = InstanceReservation;

dist/cjs/components/MicrophoneGenerator.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,5 +198,4 @@ var MicrophoneGenerator = /*#__PURE__*/function () {
198198
}]);
199199
return MicrophoneGenerator;
200200
}();
201-
var _default = MicrophoneGenerator;
202-
exports["default"] = _default;
201+
var _default = exports["default"] = MicrophoneGenerator;

dist/cjs/components/MicrophoneQueue.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,4 @@ var MicrophoneQueue = /*#__PURE__*/function () {
4444
}]);
4545
return MicrophoneQueue;
4646
}();
47-
var _default = MicrophoneQueue;
48-
exports["default"] = _default;
47+
var _default = exports["default"] = MicrophoneQueue;

dist/cjs/components/SocketIOClientGenerator.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
1010
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
1111
var _socket = _interopRequireDefault(require("socket.io-client"));
1212
var _index = _interopRequireDefault(require("../helpers/constants/index.js"));
13-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1515
var SOCKET_IO_CLIENT_NAMESPACE = _index["default"].SOCKET_IO_CLIENT_NAMESPACE,
1616
SOCKET_IO_CLIENT_PATH = _index["default"].SOCKET_IO_CLIENT_PATH,
1717
SOCKET_IO_CLIENT_TRANSPORTS = _index["default"].SOCKET_IO_CLIENT_TRANSPORTS,
@@ -170,5 +170,4 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
170170
}]);
171171
return SocketIOClientGenerator;
172172
}();
173-
var _default = SocketIOClientGenerator;
174-
exports["default"] = _default;
173+
var _default = exports["default"] = SocketIOClientGenerator;

dist/cjs/helpers/constants/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,4 @@ var projectConstants = {
6060
MICROPHONE_BIT_RATE_SAMPLES: MICROPHONE_BIT_RATE_SAMPLES,
6161
MICROPHONE_TIMESLICE: MICROPHONE_TIMESLICE
6262
};
63-
var _default = projectConstants;
64-
exports["default"] = _default;
63+
var _default = exports["default"] = projectConstants;

dist/cjs/helpers/functions/base64ArrayBuffer.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,4 @@ function base64ArrayBuffer(arrayBuffer) {
5050
}
5151
return base64;
5252
}
53-
var _default = base64ArrayBuffer;
54-
exports["default"] = _default;
53+
var _default = exports["default"] = base64ArrayBuffer;

dist/cjs/helpers/functions/blobToBase64.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,4 @@ var blobToBase64 = function blobToBase64(blob) {
1313
};
1414
});
1515
};
16-
var _default = blobToBase64;
17-
exports["default"] = _default;
16+
var _default = exports["default"] = blobToBase64;

0 commit comments

Comments
 (0)