agora-rte-sdk 2.8.21 → 2.8.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/lib/core/decorator/handlers/log-handler.d.ts +2 -0
- package/lib/core/decorator/handlers/log-handler.js +34 -0
- package/lib/core/decorator/log/log-serializer.d.ts +7 -0
- package/lib/core/decorator/log/log-serializer.js +38 -0
- package/lib/core/decorator/utils.d.ts +2 -0
- package/lib/core/decorator/utils.js +19 -0
- package/lib/core/logger/index.d.ts +1 -0
- package/lib/core/logger/index.js +16 -0
- package/lib/core/logger/log.worker.js +4 -2
- package/lib/core/media/control.d.ts +11 -8
- package/lib/core/media/control.js +42 -32
- package/lib/core/media/player.d.ts +9 -0
- package/lib/core/media/player.js +36 -0
- package/lib/core/media/track.d.ts +8 -1
- package/lib/core/media/track.js +18 -0
- package/lib/core/media/type.d.ts +113 -0
- package/lib/core/media/type.js +31 -0
- package/lib/core/rtc/adapter/base.d.ts +5 -5
- package/lib/core/rtc/adapter/electron/device.d.ts +0 -1
- package/lib/core/rtc/adapter/electron/device.js +0 -5
- package/lib/core/rtc/adapter/electron/index.d.ts +5 -5
- package/lib/core/rtc/adapter/electron/index.js +18 -24
- package/lib/core/rtc/adapter/web/client.d.ts +7 -5
- package/lib/core/rtc/adapter/web/client.js +33 -28
- package/lib/core/rtc/adapter/web/device.d.ts +0 -1
- package/lib/core/rtc/adapter/web/device.js +0 -5
- package/lib/core/rtc/adapter/web/dispatcher.d.ts +61 -0
- package/lib/core/rtc/adapter/web/dispatcher.js +166 -0
- package/lib/core/rtc/adapter/web/index.d.ts +9 -5
- package/lib/core/rtc/adapter/web/index.js +25 -16
- package/lib/core/rtc/adapter/web/thread.d.ts +18 -11
- package/lib/core/rtc/adapter/web/thread.js +241 -133
- package/lib/core/rtc/index.d.ts +5 -4
- package/lib/core/rtc/index.js +12 -12
- package/lib/core/rtc/type.d.ts +0 -4
- package/lib/core/services/api.d.ts +4 -0
- package/lib/core/services/api.js +29 -0
- package/lib/core/utils/decorator.d.ts +2 -0
- package/lib/core/utils/decorator.js +65 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +24 -17
- package/lib/scene/index.d.ts +1 -0
- package/lib/scene/index.js +23 -13
- package/lib/scene/state-sync.d.ts +21 -0
- package/lib/scene/state-sync.js +169 -0
- package/package.json +1 -1
|
@@ -75,6 +75,7 @@ var _log = require("../../../decorator/log");
|
|
|
75
75
|
var _configs = require("../../../../configs");
|
|
76
76
|
var _type = require("../../../../type");
|
|
77
77
|
var _logger = require("../../../logger");
|
|
78
|
+
var _dispatcher = require("./dispatcher");
|
|
78
79
|
var _dec, _class, _class2, _dec2, _class3;
|
|
79
80
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
80
81
|
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; }
|
|
@@ -94,11 +95,12 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
94
95
|
_this._channels = new Map();
|
|
95
96
|
_this._vdm = new _device.RtcVideoDeviceManagerWeb((0, _assertThisInitialized2["default"])(_this), _configs.AgoraRteEngineConfig.shared.rtcConfigs.noDevicePermission);
|
|
96
97
|
_this._adm = new _device.RtcAudioDeviceManagerWeb((0, _assertThisInitialized2["default"])(_this), _configs.AgoraRteEngineConfig.shared.rtcConfigs.noDevicePermission);
|
|
98
|
+
_this._audioRawDataDispatcher = new _dispatcher.AGAudioRawDataDispatcher();
|
|
99
|
+
_this._audioPlayer = new _player.AGWebAudioPlayer();
|
|
97
100
|
_this.cameraThread = new _thread.AgoraRteCameraThread();
|
|
98
|
-
_this.micThread = new _thread.AgoraRteMicrophoneThread();
|
|
101
|
+
_this.micThread = new _thread.AgoraRteMicrophoneThread(_this._audioRawDataDispatcher);
|
|
99
102
|
_this.screenThread = new _thread.AgoraRteScreenShareThread();
|
|
100
103
|
_this.remoteCanvas = new Map();
|
|
101
|
-
_this._audioPlayer = new _player.AGWebAudioPlayer();
|
|
102
104
|
_this._configs = void 0;
|
|
103
105
|
_this._configs = configs;
|
|
104
106
|
if (_type.AgoraRteLogLevel.DEBUG === _configs.AgoraRteEngineConfig.logLevel) {
|
|
@@ -113,6 +115,7 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
113
115
|
return e.instance;
|
|
114
116
|
}));
|
|
115
117
|
}
|
|
118
|
+
_this._audioRawDataDispatcher.start();
|
|
116
119
|
return _this;
|
|
117
120
|
}
|
|
118
121
|
(0, _createClass2["default"])(RtcAdapterWeb, [{
|
|
@@ -137,7 +140,7 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
137
140
|
value: function createRtcChannel(channelName, base) {
|
|
138
141
|
var channel = this._channels.get(channelName);
|
|
139
142
|
if (!channel) {
|
|
140
|
-
channel = new RtcChannelAdapterWeb(channelName, this.configs, base);
|
|
143
|
+
channel = new RtcChannelAdapterWeb(channelName, this.configs, base, this._audioRawDataDispatcher);
|
|
141
144
|
this._channels.set(channelName, channel);
|
|
142
145
|
}
|
|
143
146
|
return channel;
|
|
@@ -304,12 +307,6 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
304
307
|
this.micThread.on(_control.AgoraMediaControlEventType.localAudioVolume, cb);
|
|
305
308
|
return 0;
|
|
306
309
|
}
|
|
307
|
-
}, {
|
|
308
|
-
key: "onAudioFrame",
|
|
309
|
-
value: function onAudioFrame(cb) {
|
|
310
|
-
this.micThread.on(_control.AgoraMediaControlEventType.localAudioFrame, cb);
|
|
311
|
-
return 0;
|
|
312
|
-
}
|
|
313
310
|
}, {
|
|
314
311
|
key: "setBeautyEffectOptions",
|
|
315
312
|
value: function setBeautyEffectOptions(enable, options) {
|
|
@@ -319,19 +316,31 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
319
316
|
}, {
|
|
320
317
|
key: "setAudioFrameCallback",
|
|
321
318
|
value: function setAudioFrameCallback() {
|
|
322
|
-
this.
|
|
319
|
+
this._audioRawDataDispatcher.start();
|
|
323
320
|
return 0;
|
|
324
321
|
}
|
|
325
322
|
}, {
|
|
326
323
|
key: "stopAudioFrameCallback",
|
|
327
324
|
value: function stopAudioFrameCallback() {
|
|
328
|
-
this.
|
|
325
|
+
this._audioRawDataDispatcher.stop();
|
|
326
|
+
return 0;
|
|
327
|
+
}
|
|
328
|
+
}, {
|
|
329
|
+
key: "addAudioRawDataObserver",
|
|
330
|
+
value: function addAudioRawDataObserver(observer, position) {
|
|
331
|
+
this._audioRawDataDispatcher.addAudioRawDataObserver(observer, position);
|
|
332
|
+
return 0;
|
|
333
|
+
}
|
|
334
|
+
}, {
|
|
335
|
+
key: "removeAudioRawDataObserver",
|
|
336
|
+
value: function removeAudioRawDataObserver(observer, position) {
|
|
337
|
+
this._audioRawDataDispatcher.removeAudioRawDataObserver(observer, position);
|
|
329
338
|
return 0;
|
|
330
339
|
}
|
|
331
340
|
}, {
|
|
332
341
|
key: "setAudioRawDataConfig",
|
|
333
|
-
value: function setAudioRawDataConfig(config) {
|
|
334
|
-
this.
|
|
342
|
+
value: function setAudioRawDataConfig(config, position) {
|
|
343
|
+
this._audioRawDataDispatcher.setConfig(config, position);
|
|
335
344
|
return 0;
|
|
336
345
|
}
|
|
337
346
|
}, {
|
|
@@ -433,7 +442,7 @@ var RtcChannelAdapterWeb = (_dec2 = _log.Log.attach({
|
|
|
433
442
|
}), _dec2(_class3 = /*#__PURE__*/function (_RtcChannelAdapterBas) {
|
|
434
443
|
(0, _inherits2["default"])(RtcChannelAdapterWeb, _RtcChannelAdapterBas);
|
|
435
444
|
var _super2 = _createSuper(RtcChannelAdapterWeb);
|
|
436
|
-
function RtcChannelAdapterWeb(channelName, configs, base) {
|
|
445
|
+
function RtcChannelAdapterWeb(channelName, configs, base, audioRawDataDispatcher) {
|
|
437
446
|
var _this2;
|
|
438
447
|
(0, _classCallCheck2["default"])(this, RtcChannelAdapterWeb);
|
|
439
448
|
_this2 = _super2.call(this);
|
|
@@ -442,8 +451,8 @@ var RtcChannelAdapterWeb = (_dec2 = _log.Log.attach({
|
|
|
442
451
|
_this2.sub = void 0;
|
|
443
452
|
_this2.channelName = void 0;
|
|
444
453
|
_this2.channelName = channelName;
|
|
445
|
-
_this2.main = new _client.AgoraRteWebClientMain(channelName, configs, base, _channel2.AGRtcConnectionType.main);
|
|
446
|
-
_this2.sub = new _client.AgoraRteWebClientSub(channelName, configs, base, _channel2.AGRtcConnectionType.sub);
|
|
454
|
+
_this2.main = new _client.AgoraRteWebClientMain(channelName, configs, base, _channel2.AGRtcConnectionType.main, audioRawDataDispatcher);
|
|
455
|
+
_this2.sub = new _client.AgoraRteWebClientSub(channelName, configs, base, _channel2.AGRtcConnectionType.sub, audioRawDataDispatcher);
|
|
447
456
|
return _this2;
|
|
448
457
|
}
|
|
449
458
|
(0, _createClass2["default"])(RtcChannelAdapterWeb, [{
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AgoraRteThread } from '../../../utils/thread';
|
|
2
2
|
import { AgoraRtcVideoCanvas } from '../../canvas';
|
|
3
|
-
import { AgoraRteMediaSourceState,
|
|
4
|
-
import { IAgoraRTCClient, IAgoraRTCRemoteUser,
|
|
3
|
+
import { AgoraRteMediaSourceState, AGMediaBaseTrack } from '../../type';
|
|
4
|
+
import { IAgoraRTCClient, IAgoraRTCRemoteUser, ILocalTrack, IRemoteAudioTrack } from 'agora-rtc-sdk-ng';
|
|
5
5
|
import { IBaseProcessor } from 'agora-rte-extension';
|
|
6
6
|
import { RtcAdapterWebConfig } from '.';
|
|
7
|
+
import { AGAudioRawDataDispatcher } from './dispatcher';
|
|
7
8
|
export declare class AgoraRteMediaTrackThread extends AgoraRteThread {
|
|
8
9
|
track?: AGMediaBaseTrack;
|
|
9
10
|
processors: IBaseProcessor[];
|
|
@@ -23,16 +24,17 @@ export declare class AgoraRteCameraThread extends AgoraRteMediaTrackThread {
|
|
|
23
24
|
onExecution(): Promise<void>;
|
|
24
25
|
}
|
|
25
26
|
export declare class AgoraRteMicrophoneThread extends AgoraRteMediaTrackThread {
|
|
26
|
-
pcmTrack?: ILocalAudioTrack;
|
|
27
27
|
micEnable: boolean;
|
|
28
|
+
trackState: AgoraRteMediaSourceState;
|
|
28
29
|
private _recordingDeviceId?;
|
|
29
30
|
private _recordingDeviceChanged;
|
|
30
|
-
trackState: AgoraRteMediaSourceState;
|
|
31
31
|
private _volumePollingTask?;
|
|
32
|
-
private
|
|
32
|
+
private _rawDataDispatcher;
|
|
33
|
+
private _pcmTrack?;
|
|
34
|
+
constructor(rawDataDispatcher: AGAudioRawDataDispatcher);
|
|
33
35
|
setMicTrackState(state: AgoraRteMediaSourceState, reason?: string): void;
|
|
34
36
|
setRecordingDevice(deviceId: string): void;
|
|
35
|
-
|
|
37
|
+
preparePcmCallback(): void;
|
|
36
38
|
setAudioFrameCallback(): Promise<void>;
|
|
37
39
|
stopAudioFrameCallback(): void;
|
|
38
40
|
onExecution(): Promise<void>;
|
|
@@ -106,17 +108,22 @@ export declare class AgoraRteSubscribeThread extends AgoraRteThread {
|
|
|
106
108
|
private _volumePollingTask?;
|
|
107
109
|
private _prevCanvasView;
|
|
108
110
|
private _prevRenderMode;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
get canvas(): AgoraRtcVideoCanvas | undefined;
|
|
111
|
+
private _pcmTrack?;
|
|
112
|
+
private _rawDataDispatcher;
|
|
112
113
|
constructor(client: IAgoraRTCClient, user: IAgoraRTCRemoteUser, { channelName, muteMap, canvasMap, mediaType, }: {
|
|
113
114
|
channelName: string;
|
|
114
115
|
muteMap: Map<string, boolean>;
|
|
115
116
|
canvasMap?: Map<string, AgoraRtcVideoCanvas>;
|
|
116
117
|
mediaType: 'video' | 'audio';
|
|
117
|
-
});
|
|
118
|
+
}, rawDataDispatcher: AGAudioRawDataDispatcher);
|
|
119
|
+
get mute(): boolean;
|
|
120
|
+
get streamUuid(): string;
|
|
121
|
+
get canvas(): AgoraRtcVideoCanvas | undefined;
|
|
118
122
|
isTrackSubscribed(): boolean;
|
|
119
|
-
get track(): import("agora-rtc-sdk-ng").IRemoteVideoTrack |
|
|
123
|
+
get track(): IRemoteAudioTrack | import("agora-rtc-sdk-ng").IRemoteVideoTrack | undefined;
|
|
120
124
|
play(): void;
|
|
125
|
+
preparePcmCallback(): void;
|
|
126
|
+
setAudioFrameCallback(): Promise<void>;
|
|
127
|
+
stopAudioFrameCallback(): void;
|
|
121
128
|
onExecution(): Promise<void>;
|
|
122
129
|
}
|