SkypeSDK 视频和音频问题 - 找不到 mediaRelayAccessToken
SkypeSDK Video and audio issue - mediaRelayAccessToken not found
我在向对话添加音频或视频服务时遇到问题。
聊天服务对我来说很好用。
当我添加视频或音频服务时出现以下错误:
Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
{
[functions]: ,
__proto__: { },
code: "RequestFailed",
description: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
message: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
name: "Error",
req: { },
rsp: { },
stack: "Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
at process (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8079:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8018:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1714:25)
at map (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1331:25)
at decompose (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8017:25)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8007:29)
at handle (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:2220:33)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:698:25)"
}
Skype For Business 插件已安装并且运行良好。
当前未安装 Skype 边缘服务器。
我正在使用 Internet Explorer 11。
Microsoft 的 Skype Web SDK On Prem Sample 以及我自己的网站上都会出现错误。
当我第二次尝试将视频或音频添加到同一个对话时,我根本没有收到任何错误消息,但它仍然不起作用。该请求既没有出现在开发工具中,也没有出现在提琴手中。我正在使用最新版本的 Skype SDK 引导程序。
客户端和服务器都在同一个子网中。
提前致谢。
我遇到了同样的问题。不确定它是如何发生的,但是 sdk 无法获取或应用媒体配置。
您可以使用此解决方法:
在调试版本的 sdk 中的第 18,892 行,注释掉两个调用:
uninit();
throw error;
在 MediaConfig
部分的函数 init()
中。结果:
function init() {
pcMediaConfig = mediaPlugin.createComponent({
type: 'MediaPlatformConfig',
hide: true,
inproc: false
});
pcMediaConfig.event(onPluginComponentEvent);
pcMediaConfig.state.changed(function (state) {
log('pcMediaConfig.state = ' + state);
});
var p = pcMediaConfig.load().then(getMediaConfig).then(setMediaConfig).then(null, function (error) {
log('MediaConfig::init rejected');
//uninit();
//throw error;
});
return p;
}
因此您必须下载引导程序和 sdk 才能永久应用补丁。为此,只需在调试版本(引导程序版本 1.2.5)中获取两者并在函数 onConfig(config)
line 48
中替换
}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript(getPackageUrl(config), null, handleError, scriptAttributes);
与
}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript("./scripts/SkypeSDK.js", null, handleError, scriptAttributes);
或您的等效路径
这是 Skype Web SDK 目前的一个限制:它依赖于 mediaRelayAccessToken 才能继续进行 audio/video 调用。开发团队已意识到此问题,可能会在未来版本的 Skype Web SDK 中修复。
上面推荐的hacky方式,基本上是让SDK在缺少mediaRelayAccessToken的情况下继续调用,这样可能会让你绕过这个问题。
媒体中继访问令牌由边缘服务器返回,因此您也可以尝试部署边缘服务器来解决此问题。
我在向对话添加音频或视频服务时遇到问题。 聊天服务对我来说很好用。 当我添加视频或音频服务时出现以下错误:
Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
{
[functions]: ,
__proto__: { },
code: "RequestFailed",
description: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
message: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
name: "Error",
req: { },
rsp: { },
stack: "Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
at process (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8079:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8018:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1714:25)
at map (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1331:25)
at decompose (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8017:25)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8007:29)
at handle (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:2220:33)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:698:25)"
}
Skype For Business 插件已安装并且运行良好。 当前未安装 Skype 边缘服务器。 我正在使用 Internet Explorer 11。
Microsoft 的 Skype Web SDK On Prem Sample 以及我自己的网站上都会出现错误。
当我第二次尝试将视频或音频添加到同一个对话时,我根本没有收到任何错误消息,但它仍然不起作用。该请求既没有出现在开发工具中,也没有出现在提琴手中。我正在使用最新版本的 Skype SDK 引导程序。
客户端和服务器都在同一个子网中。
提前致谢。
我遇到了同样的问题。不确定它是如何发生的,但是 sdk 无法获取或应用媒体配置。 您可以使用此解决方法:
在调试版本的 sdk 中的第 18,892 行,注释掉两个调用:
uninit();
throw error;
在 MediaConfig
部分的函数 init()
中。结果:
function init() {
pcMediaConfig = mediaPlugin.createComponent({
type: 'MediaPlatformConfig',
hide: true,
inproc: false
});
pcMediaConfig.event(onPluginComponentEvent);
pcMediaConfig.state.changed(function (state) {
log('pcMediaConfig.state = ' + state);
});
var p = pcMediaConfig.load().then(getMediaConfig).then(setMediaConfig).then(null, function (error) {
log('MediaConfig::init rejected');
//uninit();
//throw error;
});
return p;
}
因此您必须下载引导程序和 sdk 才能永久应用补丁。为此,只需在调试版本(引导程序版本 1.2.5)中获取两者并在函数 onConfig(config)
line 48
}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript(getPackageUrl(config), null, handleError, scriptAttributes);
与
}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript("./scripts/SkypeSDK.js", null, handleError, scriptAttributes);
或您的等效路径
这是 Skype Web SDK 目前的一个限制:它依赖于 mediaRelayAccessToken 才能继续进行 audio/video 调用。开发团队已意识到此问题,可能会在未来版本的 Skype Web SDK 中修复。
上面推荐的hacky方式,基本上是让SDK在缺少mediaRelayAccessToken的情况下继续调用,这样可能会让你绕过这个问题。
媒体中继访问令牌由边缘服务器返回,因此您也可以尝试部署边缘服务器来解决此问题。