Javascript Twilio视频聊天在src中返回blob:null
我使用TwilioAPI创建视频聊天。它适用于iPad,我从笔记本电脑到iPad都有视频和音频,但从iPad到我的网页(在笔记本电脑上)我什么也看不到:Javascript Twilio视频聊天在src中返回blob:null,javascript,html,twilio,Javascript,Html,Twilio,我使用TwilioAPI创建视频聊天。它适用于iPad,我从笔记本电脑到iPad都有视频和音频,但从iPad到我的网页(在笔记本电脑上)我什么也看不到: 我的代码: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title>
我的代码:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="http://media.twiliocdn.com/sdk/js/video/v1/twilio-video.min.js"></script>
</head>
<body>
<script type="text/javascript">
var accessToken = "..."
const Video = Twilio.Video;
const client = new Video.Client(accessToken);
const localMedia = new Video.LocalMedia();
Video.getUserMedia().then(mediaStream => {
localMedia.addStream(mediaStream);
});
client.connect({
to: 'my-room',
localMedia: localMedia
}).then(room => {
const localParticipant = room.localParticipant;
room.participants.forEach(participant => {
participant.on('trackAdded', track => {
if (track.kind === 'audio') {
console.log('Added an AudioTrack %s', track.id);
} else {
console.log('Added a VideoTrack %s', track.id);
}
});
participant.on('trackRemoved', track => {
if (track.kind === 'audio') {
console.log('Removed an AudioTrack %s', track.id);
} else {
console.log('Removed a VideoTrack %s', track.id);
}
});
participant.on('trackEnabled', track => {
if (track.kind === 'audio') {
console.log('Enabled AudioTrack %s', track.id);
} else {
console.log('Enabled VideoTrack %s', track.id);
}
});
participant.on('trackDisabled', track => {
if (track.kind === 'audio') {
console.log('Disabled AudioTrack %s', track.id);
} else {
console.log('Disabled VideoTrack %s', track.id);
}
});
const element = participant.media.attach();
document.body.appendChild(element);
participant.media.tracks.forEach(track => {
track.attach('#track-view');
});
});
room.once('participantConnected', participant => {
console.log('Participant "%s" has connected to the Room', participant.identity);
});
room.once('participantDisconnected', participant => {
console.log('Participant "%s" has disconnected from Room', participant.identity);
});
}, error => {
console.error('Failed to connect to the Room', error);
});
</script>
</body>
</html>
var accessToken=“…”
常量视频=斜纹视频;
const client=new Video.client(accessToken);
const localMedia=new Video.localMedia();
Video.getUserMedia().then(mediaStream=>{
addStream(mediaStream);
});
client.connect({
致:“我的房间”,
localMedia:localMedia
}).然后(房间=>{
const localParticipant=room.localParticipant;
room.participants.forEach(参与者=>{
参与者.on('trackAdded',track=>{
如果(track.kind==='audio'){
console.log('添加了音轨%s',音轨.id);
}否则{
console.log('添加了视频曲目%s',track.id);
}
});
参与者。在('trackRemoved',track=>{
如果(track.kind==='audio'){
console.log('删除了音轨%s',音轨.id);
}否则{
console.log('删除了视频曲目%s',曲目.id);
}
});
参与者.on('trackEnabled',track=>{
如果(track.kind==='audio'){
console.log('已启用的音频曲目%s',曲目id);
}否则{
console.log('已启用视频跟踪%s',跟踪.id);
}
});
参与者.on('trackDisabled',track=>{
如果(track.kind==='audio'){
console.log('Disabled AudioTrack%s',track.id);
}否则{
console.log('Disabled VideoTrack%s',track.id');
}
});
const元素=participant.media.attach();
document.body.appendChild(元素);
participant.media.tracks.forEach(track=>{
轨迹。附加(“#轨迹视图”);
});
});
room.once('participantConnected',participant=>{
console.log('参与者“%s”已连接到会议室',参与者.identity);
});
room.once('participantDisconnected',participant=>{
console.log('参与者“%s”已断开与会议室的连接',参与者.identity);
});
},错误=>{
console.error('无法连接到房间',错误);
});
控制台中也有错误:“不允许加载本地资源:blob:null/492636ca-ce2f-4758-a866-2bf8ce9a08af”您是在chrome浏览器还是chrome浏览器上尝试?
和
元素集的src
在哪里?是的,我使用谷歌浏览器版本。在我的Mac上使用56.0。Twilio js添加了and,但src=“blob:null..”启动chrome时设置了--允许从文件访问文件标志。我可以获得访问权来运行此fiddler示例吗?关闭打开的chrome实例或将--用户数据目录设置为与打开的实例不同的目录$chrome--允许从文件访问文件--user data dir=“~/.config/google chrome temp”
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="http://media.twiliocdn.com/sdk/js/video/v1/twilio-video.min.js"></script>
</head>
<body>
<script type="text/javascript">
var accessToken = "..."
const Video = Twilio.Video;
const client = new Video.Client(accessToken);
const localMedia = new Video.LocalMedia();
Video.getUserMedia().then(mediaStream => {
localMedia.addStream(mediaStream);
});
client.connect({
to: 'my-room',
localMedia: localMedia
}).then(room => {
const localParticipant = room.localParticipant;
room.participants.forEach(participant => {
participant.on('trackAdded', track => {
if (track.kind === 'audio') {
console.log('Added an AudioTrack %s', track.id);
} else {
console.log('Added a VideoTrack %s', track.id);
}
});
participant.on('trackRemoved', track => {
if (track.kind === 'audio') {
console.log('Removed an AudioTrack %s', track.id);
} else {
console.log('Removed a VideoTrack %s', track.id);
}
});
participant.on('trackEnabled', track => {
if (track.kind === 'audio') {
console.log('Enabled AudioTrack %s', track.id);
} else {
console.log('Enabled VideoTrack %s', track.id);
}
});
participant.on('trackDisabled', track => {
if (track.kind === 'audio') {
console.log('Disabled AudioTrack %s', track.id);
} else {
console.log('Disabled VideoTrack %s', track.id);
}
});
const element = participant.media.attach();
document.body.appendChild(element);
participant.media.tracks.forEach(track => {
track.attach('#track-view');
});
});
room.once('participantConnected', participant => {
console.log('Participant "%s" has connected to the Room', participant.identity);
});
room.once('participantDisconnected', participant => {
console.log('Participant "%s" has disconnected from Room', participant.identity);
});
}, error => {
console.error('Failed to connect to the Room', error);
});
</script>
</body>
</html>