zby-live-sdk 1.0.49-beta-talrtc0920 → 1.0.49-beta0921-1
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/CHANGELOG.md +7 -6
- package/dist/zby-live-sdk.cjs.js +2 -2
- package/dist/zby-live-sdk.esm.js +2 -2
- package/dist/zby-live-sdk.umd.js +2 -2
- package/package.json +1 -1
- package/src/config/config.js +12 -1
- package/src/network/api.js +10 -1
- package/src/zby-av-sdk/talrtc-sdk.js +12 -36
- package/src/zby-av-sdk/zby-av-sdk.js +28 -6
- package/src/zby-av-sdk/zego-sdk.js +155 -5
- package/src/zby-live-sdk.js +13 -1
package/package.json
CHANGED
package/src/config/config.js
CHANGED
|
@@ -13,7 +13,7 @@ const urls = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
// export const version = require('../../package.json').version;
|
|
16
|
-
export const version = '1.0.49-
|
|
16
|
+
export const version = '1.0.49-beta0921-1';
|
|
17
17
|
|
|
18
18
|
export const liveExt = {
|
|
19
19
|
name: 'live',
|
|
@@ -108,11 +108,22 @@ const apiChangeSdkUrl = {
|
|
|
108
108
|
online: 'https://cloud-platform-live.speiyou.com/cloud-platform'
|
|
109
109
|
};
|
|
110
110
|
|
|
111
|
+
//开启混流
|
|
112
|
+
const apiMixStreams = {
|
|
113
|
+
test: 'https://tf-classroom-api-test.vdyoo.com',
|
|
114
|
+
online: 'https://tf-classroom-api-online.vdyoo.com'
|
|
115
|
+
};
|
|
116
|
+
|
|
111
117
|
export const getApiCloudBaseUrl = () => {
|
|
112
118
|
const {env} = config;
|
|
113
119
|
return apiCloudUrl[env];
|
|
114
120
|
};
|
|
115
121
|
|
|
122
|
+
export const getApiMixStreams = () => {
|
|
123
|
+
const {env} = config;
|
|
124
|
+
return apiMixStreams[env];
|
|
125
|
+
}
|
|
126
|
+
|
|
116
127
|
export const getApiChangeSdkUrl = () => {
|
|
117
128
|
const {env} = config;
|
|
118
129
|
return apiChangeSdkUrl[env];
|
package/src/network/api.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @FilePath: \1705\zby_live_sdk\src\network\api.js
|
|
8
8
|
*/
|
|
9
9
|
import commonFetch from './commonFetch.js';
|
|
10
|
-
import {getReportBaseUrl, getApiCloudBaseUrl, getCloudApiDomain, getApiChangeSdkUrl, timestampUrl} from '../config/config.js';
|
|
10
|
+
import {getReportBaseUrl, getApiCloudBaseUrl, getCloudApiDomain, getApiChangeSdkUrl, timestampUrl, getApiMixStreams} from '../config/config.js';
|
|
11
11
|
import util from '../util/util';
|
|
12
12
|
|
|
13
13
|
//获取信道服务器地址
|
|
@@ -48,3 +48,12 @@ export function dabanDataReport(param){
|
|
|
48
48
|
export function changeSdkInRoom(param){
|
|
49
49
|
return commonFetch(`${getApiChangeSdkUrl()}/rtccloud/sdk/set/lecture/client`, param, 'FROMDATA');
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
//开始混流
|
|
53
|
+
export function mixStreamsStart(param) {
|
|
54
|
+
return commonFetch(`${getApiMixStreams()}/rtc-backend/mix/stream/start`, param, 'POST');
|
|
55
|
+
}
|
|
56
|
+
//结束混流
|
|
57
|
+
export function mixStreamsStop(param) {
|
|
58
|
+
return commonFetch(`${getApiMixStreams()}/rtc-backend/mix/stream/end`, param, 'POST');
|
|
59
|
+
}
|
|
@@ -52,7 +52,6 @@ let localRoomId = null;
|
|
|
52
52
|
let userId = null;
|
|
53
53
|
let isNoticeMicVolume = false;
|
|
54
54
|
let enableLocalCapture = true; // 本地摄像头采集,默认允许
|
|
55
|
-
let teacherId = null;
|
|
56
55
|
// /**
|
|
57
56
|
// * 过滤直播云sdk中deviceId前缀
|
|
58
57
|
// * @param {string} deviceId
|
|
@@ -426,13 +425,12 @@ const init = async (args) => {
|
|
|
426
425
|
localRoomId = args.roomId;
|
|
427
426
|
userId = args.userId;
|
|
428
427
|
localStreamId = args.streamId;
|
|
429
|
-
teacherId = args.teacherId;
|
|
430
428
|
const _devices = {
|
|
431
429
|
camera: (devices && devices.camera) || (usedDevices && usedDevices.camera && usedDevices.camera.use) || '',
|
|
432
430
|
microphone: (devices && devices.microphone) || (usedDevices && usedDevices.microphone && usedDevices.microphone.use) || '',
|
|
433
431
|
speaker: (devices && devices.speaker) || (usedDevices && usedDevices.speaker && usedDevices.speaker.use) || ''
|
|
434
432
|
};
|
|
435
|
-
console.log('-> load talrtc sdk
|
|
433
|
+
console.log('-> load talrtc sdk');
|
|
436
434
|
await loadTalrtc(args.extensionVersion);
|
|
437
435
|
console.log('-> load talrtc sdk finished ');
|
|
438
436
|
const resp = await startEngine(args.appId, args.userId, args.usersign || '67890', 7, args.live_id);
|
|
@@ -456,7 +454,6 @@ const init = async (args) => {
|
|
|
456
454
|
|
|
457
455
|
//rtc同屏以及高光时刻,都开启音频外部采集,默认传1
|
|
458
456
|
await setAudioAuxSource(1);
|
|
459
|
-
teacherId = null;
|
|
460
457
|
}
|
|
461
458
|
|
|
462
459
|
if(args.noiseSuppressMode == -2) {
|
|
@@ -1501,8 +1498,6 @@ const startPush = async (streamId) => {
|
|
|
1501
1498
|
if (streamId === screenStreamId) {
|
|
1502
1499
|
isScreenSharing = true;
|
|
1503
1500
|
}
|
|
1504
|
-
setAudioType(4, localStreamId); // 设置采集类型,不用await,避免接口挂起导致未推流
|
|
1505
|
-
|
|
1506
1501
|
defaultApi.writeLog(`avsdk TALSDK::startPush streamId: ${streamId}`);
|
|
1507
1502
|
try {
|
|
1508
1503
|
if (!isFirstHeartBeatReport) {
|
|
@@ -1597,7 +1592,6 @@ const startPlay = (streamId, muteAudio, muteVideo) => {
|
|
|
1597
1592
|
}
|
|
1598
1593
|
defaultApi.writeLog(`avsdk TALSDK::startPlay streamId: ${streamId}, muteAudio: ${muteAudio}, muteVideo: ${muteVideo}`);
|
|
1599
1594
|
return callMethod('StartPlay', {
|
|
1600
|
-
myStreamId: localStreamId,
|
|
1601
1595
|
streamId,
|
|
1602
1596
|
muteAudio,
|
|
1603
1597
|
muteVideo,
|
|
@@ -1870,19 +1864,10 @@ const setAudioAuxSource = (source) => {
|
|
|
1870
1864
|
});
|
|
1871
1865
|
};
|
|
1872
1866
|
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
* @returns {Promise<void>}
|
|
1878
|
-
*/
|
|
1879
|
-
const setAudioType = (type, streamId) => {
|
|
1880
|
-
defaultApi.writeLog('info', 'avsdk TALRTC::SetAudioType');
|
|
1881
|
-
if (!streamId) {
|
|
1882
|
-
streamId = screenStreamId;
|
|
1883
|
-
}
|
|
1884
|
-
return callMethod('SetAudioType', {
|
|
1885
|
-
streamId,
|
|
1867
|
+
//RTC同屏 辅助通道音频类型 0:静音 / 1:麦克风 / 2:拉流的声音 / 3:1+2 / 4:麦克风+扬声器
|
|
1868
|
+
const setAUXAudioType = (type) => {
|
|
1869
|
+
defaultApi.writeLog('info', 'avsdk TALRTC::SetAUXAudioType');
|
|
1870
|
+
return callMethod('SetAUXAudioType', {
|
|
1886
1871
|
type
|
|
1887
1872
|
});
|
|
1888
1873
|
};
|
|
@@ -1928,18 +1913,13 @@ const startMultiScreen = async () => {
|
|
|
1928
1913
|
* @returns {Promise}
|
|
1929
1914
|
*/
|
|
1930
1915
|
export const setAudioMixMode = async (mixMode, streamIdArr) => {
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
// }
|
|
1937
|
-
if (!Array.isArray(streamIdArr)) return;
|
|
1938
|
-
|
|
1939
|
-
if (teacherId && !streamIdArr.includes(teacherId)) {
|
|
1940
|
-
streamIdArr.push(teacherId);
|
|
1916
|
+
let channelsArr = [];
|
|
1917
|
+
if(streamIdArr.length > 0){
|
|
1918
|
+
streamIdArr.forEach( item => {
|
|
1919
|
+
channelsArr.push(getChannelIndex(item));
|
|
1920
|
+
});
|
|
1941
1921
|
}
|
|
1942
|
-
return callMethod('SetAudioMixMode', {mixMode: mixMode,
|
|
1922
|
+
return callMethod('SetAudioMixMode', {mixMode: mixMode, channels: channelsArr, num: channelsArr.length});
|
|
1943
1923
|
};
|
|
1944
1924
|
|
|
1945
1925
|
|
|
@@ -1974,10 +1954,6 @@ const leaveRoom = async () => {
|
|
|
1974
1954
|
previewIdToStreamId = {};
|
|
1975
1955
|
streamIdRtcPlayerInfo = {};
|
|
1976
1956
|
streamIdRtcPlayerInfo1 = {};
|
|
1977
|
-
uiChnIndexs.length = 100;
|
|
1978
|
-
uiChnIndexs.fill(0).forEach((value, index, array) => {
|
|
1979
|
-
array[index] = array.length - (index + 1);
|
|
1980
|
-
});
|
|
1981
1957
|
};
|
|
1982
1958
|
|
|
1983
1959
|
|
|
@@ -2343,7 +2319,7 @@ export default {
|
|
|
2343
2319
|
setMirrorStatus,
|
|
2344
2320
|
setPlayViewMirror,
|
|
2345
2321
|
setAudioAuxSource,
|
|
2346
|
-
|
|
2322
|
+
setAUXAudioType,
|
|
2347
2323
|
startAudioExCapture,
|
|
2348
2324
|
startMultiScreen,
|
|
2349
2325
|
setAudioMixMode,
|
|
@@ -20,6 +20,11 @@ const rtcReportUrl = {
|
|
|
20
20
|
test: 'test-r.weclassroom.com',
|
|
21
21
|
online: 'r.weclassroom.com'
|
|
22
22
|
};
|
|
23
|
+
const sdkVale = {
|
|
24
|
+
zego: 8, //8代表zego采集麦克风+扬声器
|
|
25
|
+
talrtc: 101, //101代表talrtc采集声音
|
|
26
|
+
trtc: 102, //102代表trtc采集声音
|
|
27
|
+
}
|
|
23
28
|
|
|
24
29
|
/**
|
|
25
30
|
* @function 设备检测初始化
|
|
@@ -78,7 +83,7 @@ export const deviceCheckerInit = async (extension, env) => {
|
|
|
78
83
|
});
|
|
79
84
|
window.zbyAVSDK_init_sdk_type = 'zego';
|
|
80
85
|
}
|
|
81
|
-
defaultApi.writeLog('change zbyAVSDK_init_sdk_type to
|
|
86
|
+
defaultApi.writeLog('change zbyAVSDK_init_sdk_type to zego , from avsdk device check init');
|
|
82
87
|
};
|
|
83
88
|
|
|
84
89
|
/**
|
|
@@ -1243,7 +1248,7 @@ export const getSnapshootId = (streamId) => {
|
|
|
1243
1248
|
}
|
|
1244
1249
|
break;
|
|
1245
1250
|
case TALRTC:
|
|
1246
|
-
if (
|
|
1251
|
+
if (zegosdk.hasStream(streamId)) {
|
|
1247
1252
|
return talrtcsdk.getChannelIndex(streamId);
|
|
1248
1253
|
} else {
|
|
1249
1254
|
defaultApi.writeLog(`talrtcsdk getSnapshootId , no streamId: ${streamId} in talrtc room`);
|
|
@@ -1669,7 +1674,8 @@ export const setAudioMixMode = (mixMode, streamIdArr) => {
|
|
|
1669
1674
|
case ZEGO:
|
|
1670
1675
|
return zegosdk.setAudioMixMode(mixMode, streamIdArr);
|
|
1671
1676
|
case TALRTC:
|
|
1672
|
-
|
|
1677
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1678
|
+
break;
|
|
1673
1679
|
default:
|
|
1674
1680
|
break;
|
|
1675
1681
|
}
|
|
@@ -1786,8 +1792,6 @@ export const setAUXAudioType = (type) => {
|
|
|
1786
1792
|
break;
|
|
1787
1793
|
case ZEGO:
|
|
1788
1794
|
return zegosdk.setAUXAudioType(type);
|
|
1789
|
-
case TALRTC:
|
|
1790
|
-
return talrtcsdk.setAudioType(type);
|
|
1791
1795
|
default:
|
|
1792
1796
|
break;
|
|
1793
1797
|
}
|
|
@@ -1808,6 +1812,21 @@ export const getStreamType_zego = () => {
|
|
|
1808
1812
|
}
|
|
1809
1813
|
};
|
|
1810
1814
|
|
|
1815
|
+
const setThirdAudioCallbackType = (sdkType) => {
|
|
1816
|
+
let type = sdkVale[sdkType];
|
|
1817
|
+
return zegosdk.setThirdAudioType(type);
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
const startMixStreams = (urls) => {
|
|
1821
|
+
console.log('zego startmixStreams');
|
|
1822
|
+
return zegosdk.startmixStreams(urls);
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
const stopMixtStreams = (urls) => {
|
|
1826
|
+
console.log('zego stopMixtStreams');
|
|
1827
|
+
return zegosdk.stopMixtStreams(urls);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1811
1830
|
|
|
1812
1831
|
export default {
|
|
1813
1832
|
init,
|
|
@@ -1886,6 +1905,9 @@ export default {
|
|
|
1886
1905
|
sendMediaSideInfo,
|
|
1887
1906
|
enableHighlight,
|
|
1888
1907
|
setAUXAudioType,
|
|
1889
|
-
mixedstuVideo
|
|
1908
|
+
mixedstuVideo,
|
|
1909
|
+
setThirdAudioCallbackType,
|
|
1910
|
+
startMixStreams,
|
|
1911
|
+
stopMixtStreams
|
|
1890
1912
|
// getDeviceState
|
|
1891
1913
|
};
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
**/
|
|
7
7
|
import {dabanDataReport} from '../network/api.js';
|
|
8
8
|
import dataReport from '../network/dataReport.js';
|
|
9
|
+
import { mixStreamsStart,mixStreamsStop } from '../network/api';
|
|
9
10
|
import {
|
|
10
11
|
getS,
|
|
11
12
|
setS,
|
|
@@ -69,6 +70,9 @@ let currStreamIdRtcPlayerInfo ;
|
|
|
69
70
|
|
|
70
71
|
//记录底层推流回调的值
|
|
71
72
|
let dataZegoCapture = {};
|
|
73
|
+
|
|
74
|
+
//记录推流id
|
|
75
|
+
let streamIdList = [];
|
|
72
76
|
/**
|
|
73
77
|
* @function 调用端提供的回调方法
|
|
74
78
|
* @param name:String 回调方法名
|
|
@@ -190,7 +194,10 @@ const addListener = (userId, userName, confId, nNetType, devices) => {
|
|
|
190
194
|
afterInitSDK(userId, userName, confId, nNetType, devices);
|
|
191
195
|
}
|
|
192
196
|
}
|
|
193
|
-
|
|
197
|
+
break;
|
|
198
|
+
case 'OnMixStreamEx':
|
|
199
|
+
console.log('OnMixStreamEx',data)
|
|
200
|
+
break;
|
|
194
201
|
case 'OnLoginChannel':
|
|
195
202
|
var status = JSON.parse(data).uiErrorCode;
|
|
196
203
|
defaultApi.writeLog(`ZEGO::addListener-- OnLoginChannel: ${status}`);
|
|
@@ -745,7 +752,7 @@ export const stopCheckDevice = async() => {
|
|
|
745
752
|
removerListener();
|
|
746
753
|
await stopSoundLevelMonitor();
|
|
747
754
|
await stopPreview();
|
|
748
|
-
defaultApi.writeLog('
|
|
755
|
+
defaultApi.writeLog('zego stopCheckDevice and removerListener and captureDestroy');
|
|
749
756
|
return callMethod('DestroyEngine', {});
|
|
750
757
|
};
|
|
751
758
|
|
|
@@ -1791,11 +1798,16 @@ export const setDefaultDevice = async (devices, operationType) => {
|
|
|
1791
1798
|
*/
|
|
1792
1799
|
export const startPublish2 = async (streamid, idx, title, flag, seq) => {
|
|
1793
1800
|
const streamId = streamid || window.zbyAVSDK_init_params.zego.streamId;
|
|
1801
|
+
if (streamIdList.includes(streamId)) {
|
|
1802
|
+
console.log('streamIdList is including this streamid', streamIdList, streamId);
|
|
1803
|
+
} else {
|
|
1804
|
+
streamIdList.push(streamId);
|
|
1805
|
+
}
|
|
1794
1806
|
if (typeof title === 'undefined') {
|
|
1795
1807
|
title = 'none';
|
|
1796
1808
|
}
|
|
1797
1809
|
if (typeof flag === 'undefined') {
|
|
1798
|
-
flag =
|
|
1810
|
+
flag = 1;
|
|
1799
1811
|
}
|
|
1800
1812
|
if (typeof seq === 'undefined') {
|
|
1801
1813
|
seq = 0;
|
|
@@ -2069,6 +2081,133 @@ export const mixStream = (type, args, seq) => {
|
|
|
2069
2081
|
|
|
2070
2082
|
};
|
|
2071
2083
|
|
|
2084
|
+
export const startmixStreams = async (targetUrl) => {
|
|
2085
|
+
const zego = window.zbyAVSDK_init_params.zego;
|
|
2086
|
+
|
|
2087
|
+
let rtcStreamId = `${zego.sid.slice(0,str.length-1)+2}` //'4000_345_123_2'
|
|
2088
|
+
let param = {
|
|
2089
|
+
institutionId: zego.institutionId,
|
|
2090
|
+
taskId: zego.sid,
|
|
2091
|
+
userId: zego.userId,
|
|
2092
|
+
streamIds: streamIdList,
|
|
2093
|
+
rtcStreamId,
|
|
2094
|
+
pushUrls: targetUrl //数组
|
|
2095
|
+
}
|
|
2096
|
+
let res = await mixStreamsStart(param);
|
|
2097
|
+
if (res.code == 0) {
|
|
2098
|
+
console.log('混流成功:', res);
|
|
2099
|
+
} else {
|
|
2100
|
+
console.log('startmixStream local start……');
|
|
2101
|
+
return callMethod('MixStreamEx', {
|
|
2102
|
+
mixstreamid: zego.sid,
|
|
2103
|
+
config: {
|
|
2104
|
+
nOutputFps: 15,
|
|
2105
|
+
nOutputBitrate: 512000,
|
|
2106
|
+
nOutputAudioBitrate: 48000,
|
|
2107
|
+
nOutputWidth: 1280,
|
|
2108
|
+
nOutputHeight: 720,
|
|
2109
|
+
nOutputAudioConfig: 0,
|
|
2110
|
+
pUserData: '',
|
|
2111
|
+
nLenOfUserData: 0,
|
|
2112
|
+
pInputStreamList: [
|
|
2113
|
+
{
|
|
2114
|
+
szStreamID: streamIdList[1],//截屏窗
|
|
2115
|
+
layout: { left: 0, top: 0, right: 1040, bottom: 720 },
|
|
2116
|
+
uSoundLevelID: 1234,
|
|
2117
|
+
nContentControl: 0,
|
|
2118
|
+
nVolume: 100,
|
|
2119
|
+
bAudioFocus: false,
|
|
2120
|
+
nAudioDirection: -1,
|
|
2121
|
+
renderMode: 0
|
|
2122
|
+
},
|
|
2123
|
+
{
|
|
2124
|
+
szStreamID: streamIdList[0],//头像
|
|
2125
|
+
layout: { left: 1040, top: 0, right: 1280, bottom: 180 },
|
|
2126
|
+
uSoundLevelID: 3232,
|
|
2127
|
+
nContentControl: 0,
|
|
2128
|
+
nVolume: 100,
|
|
2129
|
+
bAudioFocus: false,
|
|
2130
|
+
nAudioDirection: -1,
|
|
2131
|
+
renderMode: 0
|
|
2132
|
+
}
|
|
2133
|
+
],
|
|
2134
|
+
nInputStreamCount: 2,
|
|
2135
|
+
pOutputList: [
|
|
2136
|
+
{
|
|
2137
|
+
isUrl: true, // 输出是否为流名或URL
|
|
2138
|
+
target: targetUrl[0], //isUrl=ture完整的RTMP URL,false是流名
|
|
2139
|
+
videoCodec: 0,
|
|
2140
|
+
videoBitrate: 0,
|
|
2141
|
+
encodeProfile: 1,
|
|
2142
|
+
encodeLatency: 0
|
|
2143
|
+
}
|
|
2144
|
+
// {
|
|
2145
|
+
// isUrl: false,
|
|
2146
|
+
// target: "streamId",
|
|
2147
|
+
// videoCodec: 0,
|
|
2148
|
+
// videoBitrate: 0,
|
|
2149
|
+
// encodeProfile: 1,
|
|
2150
|
+
// encodeLatency: 0
|
|
2151
|
+
// }
|
|
2152
|
+
],
|
|
2153
|
+
nOutputStreamCount: 1,
|
|
2154
|
+
pOutputBackgroundImage: '',
|
|
2155
|
+
}
|
|
2156
|
+
})
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
|
|
2160
|
+
};
|
|
2161
|
+
|
|
2162
|
+
export const stopMixtStreams = async (targetUrl) => {
|
|
2163
|
+
const zego = window.zbyAVSDK_init_params.zego;
|
|
2164
|
+
let param = {
|
|
2165
|
+
taskId: zego.sid,
|
|
2166
|
+
userId: zego.userId
|
|
2167
|
+
}
|
|
2168
|
+
let res = await mixStreamsStop(param);
|
|
2169
|
+
if (res.code == 0) {
|
|
2170
|
+
console.log('停止混流成功:', res);
|
|
2171
|
+
} else {
|
|
2172
|
+
return callMethod('MixStreamEx', {
|
|
2173
|
+
mixstreamid: zego.sid,
|
|
2174
|
+
config: {
|
|
2175
|
+
nOutputFps: 15,
|
|
2176
|
+
nOutputBitrate: 512000,
|
|
2177
|
+
nOutputAudioBitrate: 48000,
|
|
2178
|
+
nOutputWidth: 1280,
|
|
2179
|
+
nOutputHeight: 720,
|
|
2180
|
+
nOutputAudioConfig: 0,
|
|
2181
|
+
pUserData: '',
|
|
2182
|
+
nLenOfUserData: 0,
|
|
2183
|
+
pInputStreamList: [],
|
|
2184
|
+
nInputStreamCount: 2,
|
|
2185
|
+
pOutputList: [
|
|
2186
|
+
{
|
|
2187
|
+
isUrl: true, // 输出是否为流名或URL
|
|
2188
|
+
target: targetUrl[0], //isUrl=ture完整的RTMP URL,false是流名
|
|
2189
|
+
videoCodec: 0,
|
|
2190
|
+
videoBitrate: 0,
|
|
2191
|
+
encodeProfile: 1,
|
|
2192
|
+
encodeLatency: 0
|
|
2193
|
+
}
|
|
2194
|
+
// {
|
|
2195
|
+
// isUrl: false,
|
|
2196
|
+
// target: "streamId",
|
|
2197
|
+
// videoCodec: 0,
|
|
2198
|
+
// videoBitrate: 0,
|
|
2199
|
+
// encodeProfile: 1,
|
|
2200
|
+
// encodeLatency: 0
|
|
2201
|
+
// }
|
|
2202
|
+
],
|
|
2203
|
+
nOutputStreamCount: 1,
|
|
2204
|
+
pOutputBackgroundImage: '',
|
|
2205
|
+
}
|
|
2206
|
+
})
|
|
2207
|
+
}
|
|
2208
|
+
};
|
|
2209
|
+
|
|
2210
|
+
|
|
2072
2211
|
/**
|
|
2073
2212
|
* @function 是否拉取音频流--通过流id控制
|
|
2074
2213
|
* @param streamId:String 被拉取的流的 id,必选
|
|
@@ -2410,7 +2549,7 @@ const setAudioAuxSource = (source) => {
|
|
|
2410
2549
|
});
|
|
2411
2550
|
}
|
|
2412
2551
|
|
|
2413
|
-
//RTC同屏 辅助通道音频类型 0:静音 / 1:麦克风 / 2:拉流的声音 / 3:1+2 / 4:麦克风+扬声器
|
|
2552
|
+
//RTC同屏 辅助通道音频类型 0:静音 / 1:麦克风 / 2:拉流的声音 / 3:1+2 / 4:麦克风+扬声器 /5:扬声器(音乐)(没有拉流,没有外部混音没有调用,没有麦克风)
|
|
2414
2553
|
const setAUXAudioType = (type) => {
|
|
2415
2554
|
defaultApi.writeLog('info', 'avsdk ZEGO::SetAUXAudioType');
|
|
2416
2555
|
return callMethod('SetAUXAudioType', {
|
|
@@ -2425,6 +2564,14 @@ const startAudioExCapture = (channel) => {
|
|
|
2425
2564
|
channel
|
|
2426
2565
|
});
|
|
2427
2566
|
}
|
|
2567
|
+
/**
|
|
2568
|
+
* @function 设置第三路流音频类型
|
|
2569
|
+
* @param {number} type 音频类型 0:静音 / 1:麦克风 / 2:拉流的声音 / 3:1+2 / 4:麦克风+扬声器(音乐+拉流)(带外部混音) /8:麦克风+扬声器(音乐+拉流)(不带外部混音)/16:扬声器(音乐)(没有拉流,没有外部混音,没有麦克风)
|
|
2570
|
+
* @return: Promise
|
|
2571
|
+
*/
|
|
2572
|
+
const setThirdAudioType = (type) => {
|
|
2573
|
+
return callMethod('SetThirdAudioType', { type })
|
|
2574
|
+
};
|
|
2428
2575
|
|
|
2429
2576
|
//加载截屏插件
|
|
2430
2577
|
const LoadCollectionOutputEntry2 = () => {
|
|
@@ -2983,5 +3130,8 @@ export default {
|
|
|
2983
3130
|
addListener,
|
|
2984
3131
|
stopCheckDevice,
|
|
2985
3132
|
getDeviceCheckInitStatus,
|
|
2986
|
-
setDeviceCheckInitStatus
|
|
3133
|
+
setDeviceCheckInitStatus,
|
|
3134
|
+
setThirdAudioType,
|
|
3135
|
+
startmixStreams,
|
|
3136
|
+
stopMixtStreams
|
|
2987
3137
|
};
|
package/src/zby-live-sdk.js
CHANGED
|
@@ -198,7 +198,6 @@ function caculateDeatailArgs(baseArgs, cloudData) {
|
|
|
198
198
|
extensionVersion: baseArgs.extension.version.agora || '1.0.0.0',
|
|
199
199
|
appId: cloudData.appId,
|
|
200
200
|
usersign: 'testsign',
|
|
201
|
-
teacherId: baseArgs.teacherId
|
|
202
201
|
}),
|
|
203
202
|
trtc: Object.assign({}, commonArgs, liveConfig, {
|
|
204
203
|
extensionVersion: baseArgs.extension.version.trtc || '1.0.0.0',
|
|
@@ -384,6 +383,7 @@ const zbysdk = {
|
|
|
384
383
|
defaultApi.writeLog(`sdk status : setAudioCallbackType , sdk_type : ${sdk_type}`);
|
|
385
384
|
try {
|
|
386
385
|
await liveBaseApi.setAudioCallbackType(sdk_type);
|
|
386
|
+
await zbyAVSDK.setThirdAudioCallbackType(sdk_type);
|
|
387
387
|
} catch (e) {
|
|
388
388
|
defaultApi.writeLog(`sdk status : setAudioCallbackType , error : ${JSON.stringify(e)}`);
|
|
389
389
|
};
|
|
@@ -576,7 +576,9 @@ const zbysdk = {
|
|
|
576
576
|
}
|
|
577
577
|
|
|
578
578
|
try {
|
|
579
|
+
console.log('开始设置rtmp声音回调',sdk_type);
|
|
579
580
|
await liveBaseApi.setAudioCallbackType(sdk_type);
|
|
581
|
+
await zbyAVSDK.setThirdAudioCallbackType(sdk_type);
|
|
580
582
|
} catch (error) {
|
|
581
583
|
defaultApi.writeLog(`setAudioCallbackType error : ${JSON.stringify(error)}`);
|
|
582
584
|
}
|
|
@@ -1518,6 +1520,16 @@ const zbysdk = {
|
|
|
1518
1520
|
return zbyAVSDK.sendMediaSideInfo(info);
|
|
1519
1521
|
},
|
|
1520
1522
|
|
|
1523
|
+
startMixStreams(urls) {
|
|
1524
|
+
defaultApi.writeLog('sdk action: startMixStream');
|
|
1525
|
+
return zbyAVSDK.startMixStreams(urls);
|
|
1526
|
+
},
|
|
1527
|
+
|
|
1528
|
+
stopMixtStreams(urls) {
|
|
1529
|
+
defaultApi.writeLog('sdk action: stopMixtStreams');
|
|
1530
|
+
return zbyAVSDK.stopMixtStreams(urls);
|
|
1531
|
+
},
|
|
1532
|
+
|
|
1521
1533
|
/**
|
|
1522
1534
|
* @function 切换sdk类型
|
|
1523
1535
|
* @return: Promise
|