|
@@ -150,6 +150,7 @@ async function handleJoin() {
|
|
|
userId: store.getters["rtc/userId"],
|
|
|
userSig: res.data.sign,
|
|
|
useStringRoomId: true,
|
|
|
+ enableAutoPlayDialog: false,
|
|
|
});
|
|
|
installEventHandlers();
|
|
|
|
|
@@ -167,7 +168,29 @@ async function handleJoin() {
|
|
|
.then(() => {
|
|
|
// addLocalControlView();
|
|
|
})
|
|
|
- .catch((e) => {});
|
|
|
+ .catch((e) => {
|
|
|
+ console.log(stream);
|
|
|
+ });
|
|
|
+
|
|
|
+ localStream.on("error", (error) => {
|
|
|
+ if (error.getCode() === 0x4043) {
|
|
|
+ // 自动播放受限导致播放失败,此时引导用户点击页面。
|
|
|
+ // 在点击事件的回调函数中,执行 stream.resume();
|
|
|
+ Dialog.confirm({
|
|
|
+ showCloseIcon: false,
|
|
|
+ okText: "确定",
|
|
|
+ content:
|
|
|
+ "<span style='font-size: 16px; line-height: 1.5;'>開發者已遵守收集、使用最終用戶個人信息有關的所有可適用法律、政策和法規,保護用戶個人信息安全。<span/>",
|
|
|
+ title: "隱私條款:",
|
|
|
+ single: true,
|
|
|
+ func: (state) => {
|
|
|
+ if (state == "ok") {
|
|
|
+ localStream.resume();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
async function handlePublish() {
|
|
@@ -222,9 +245,9 @@ async function handleLeave() {
|
|
|
try {
|
|
|
uninstallEventHandlers();
|
|
|
await localClient.leave();
|
|
|
- invitedRemoteStreams.value = []
|
|
|
- store.commit("rtc/setVideoDeviceId", '');
|
|
|
- store.commit("rtc/setAudioDeviceId", '');
|
|
|
+ invitedRemoteStreams.value = [];
|
|
|
+ store.commit("rtc/setVideoDeviceId", "");
|
|
|
+ store.commit("rtc/setAudioDeviceId", "");
|
|
|
|
|
|
if (localStream) {
|
|
|
localStream.stop();
|