javascript - OpenTok.js getImgData() 未定义
问题描述
嗨,我正在更新一个使用 Laravel 制作的项目并使用 OpenTok.js 代码使用官方文档所说的最新版本
要使用最新版本中可用的新功能,请设置脚本标签的 src 属性以加载新库:
<script src="https://static.opentok.com/v2/js/opentok.min.js"></script>
它曾经工作正常,但现在它在以下行中失败了:
subscriber.getImgData();
并说它未定义有什么办法可以解决这个问题吗?也许某个地方的旧版本 OpenTok
另外,这是我的代码片段:
var publisher = '';
var subscriber = '';
function startSession() {
session = OT.initSession(apiKey, sessionId);
// Subscribe to a newly created stream
session.on('streamCreated', function(event) {
subscriber = session.subscribe(event.stream, 'subscriber', {
insertMode: 'append',
width: '100%',
height: '100%',
preferredResolution: {
width: 1280,
height: 720
},
style: {buttonDisplayMode: 'off'}
}, handleError);
});
// Create a publisher
publisher = OT.initPublisher('publisher', {
insertMode: 'append',
width: '100%',
height: '100%',
resolution: '1280x720',
mirror: false,
style: {buttonDisplayMode: 'off'}
}, handleError);
// Connect to the session
session.connect(token, function(error) {
// If the connection is successful, initialize a publisher and publish to the session
if (error) {
handleError(error);
} else {
session.publish(publisher, handleError);
}
});
$.ajax({
url: '/video/' + video_id + '/start',
type: "POST",
cache: false,
dataType: 'json',
data: {
'_token': csrf_token,
}
}).done(
function(data){
}
);
$('#start-session-btn').hide();
showSessionControls();
activityWatcher();
}
$('#take-photo').click(function() {
var video = subscriber.getImgData();
var blob = base64ToBlob(video);
var formData = new FormData();
formData.append('image', blob);
formData.append("_token", csrf_token);
$.ajax({
url: '/video/' + video_id,
type: "POST",
cache: false,
contentType: false,
processData: false,
data: formData}).done(
function(data){
VideoScreenGallery.addImg(data.id, data.path);
}
);
});
错误返回在线:
var video = subscriber.getImgData();
这是错误本身:
未捕获的 TypeError:subscriber.getImgData 不是函数
解决方案
推荐阅读
- graphql - 如何定义 GraphQL 类型之间的双向列表关系?
- c# - 任务 MyFunctionAsync() 调用任务
另一个函数异步() - javascript - 如何使用纯JS通过api对数据进行轮播
- android - 在 Android 中使用光压缩器进行视频压缩需要花费大量时间
- sql-server - SQL Server Express 和 SSRS 报告订阅 - SQL 代理服务未运行
- css - php自动生成的表| 如何在一侧设置限制 5 tr
- sql - 不能使用 having 子句,因为它既不包含在聚合函数中,也不包含在 group by 子句中
- filter - 为什么从数组中过滤未定义的值不起作用?
- mysql - 用户 'me'@'localhost' 的访问被拒绝(使用密码:YES)
- authentication - Azure APIM:将客户端证书发送到后端进行身份验证