From ec296628c32f3c5fee39bb70086bdeb40fde5cc5 Mon Sep 17 00:00:00 2001 From: nokhnaton Date: Mon, 20 Jan 2025 21:41:43 +0900 Subject: [PATCH 1/9] little fix --- src/composables/qall/useLiveKitSDK.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/composables/qall/useLiveKitSDK.ts b/src/composables/qall/useLiveKitSDK.ts index 6e5d33a49..256d4f235 100644 --- a/src/composables/qall/useLiveKitSDK.ts +++ b/src/composables/qall/useLiveKitSDK.ts @@ -14,7 +14,7 @@ import type { Participant, LocalTrack } from 'livekit-client' -import { ref, type Ref } from 'vue' +import { ref, watch, type Ref } from 'vue' import { useToastStore } from '/@/store/ui/toast' import apis from '/@/lib/apis' @@ -187,7 +187,7 @@ const addScreenShareTrack = async () => { const audioSid = localTracks.find(t => t.kind === Track.Kind.Audio)?.sid if (audioSid && videoSid) { Attributes.value = { - ...room.value.localParticipant.attributes, + ...Attributes.value, [videoSid]: audioSid } await room.value.localParticipant.setAttributes({ @@ -200,6 +200,11 @@ const addScreenShareTrack = async () => { } } +watch( + () => Attributes.value, + () => console.log(Attributes.value) +) + const removeScreenShareTrack = async ( localpublication: LocalTrackPublication ) => { From c54cd097abf789233ead3db26b00e7cb59e1aa3e Mon Sep 17 00:00:00 2001 From: nokhnaton Date: Mon, 20 Jan 2025 22:13:29 +0900 Subject: [PATCH 2/9] =?UTF-8?q?Audio=E3=81=AB=E3=82=82participantIdentity?= =?UTF-8?q?=E3=82=92=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Main/MainView/QallView/AudioTrack.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Main/MainView/QallView/AudioTrack.vue b/src/components/Main/MainView/QallView/AudioTrack.vue index 3c99214b5..31c896437 100644 --- a/src/components/Main/MainView/QallView/AudioTrack.vue +++ b/src/components/Main/MainView/QallView/AudioTrack.vue @@ -26,6 +26,7 @@ onUnmounted(() => { From 59e2d5a5717e810e3987cb3b12672e734a448958 Mon Sep 17 00:00:00 2001 From: nokhnaton Date: Mon, 20 Jan 2025 23:01:01 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=E3=82=AB=E3=83=A1=E3=83=A9=E3=83=88?= =?UTF-8?q?=E3=83=A9=E3=83=83=E3=82=AF=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 22 +++++++++++++ package.json | 1 + .../Main/MainView/QallView/QallView.vue | 5 ++- .../Main/MainView/QallView/VideoTrack.vue | 4 +-- src/composables/qall/useLiveKitSDK.ts | 31 ++++++++++++------- src/composables/qall/useQall.ts | 6 ++-- 6 files changed, 52 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ef02b8e7..baeb5ad37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@mdi/js": "^7.4.47", "@sapphi-red/web-noise-suppressor": "^0.3.5", + "@shiguredo/virtual-background": "^2023.2.0", "@traptitech/traq": "^3.17.0-3", "@traptitech/traq-markdown-it": "^6.3.0", "autosize": "^6.0.1", @@ -3892,6 +3893,14 @@ "resolved": "https://registry.npmjs.org/@sapphi-red/web-noise-suppressor/-/web-noise-suppressor-0.3.5.tgz", "integrity": "sha512-jh3+V9yM+zxLriQexoGm0GatoPaJWjs6ypFIbFYwQp+AoUb55eUXrjKtKQyuC5zShzzeAQUl0M5JzqB7SSrsRA==" }, + "node_modules/@shiguredo/virtual-background": { + "version": "2023.2.0", + "resolved": "https://registry.npmjs.org/@shiguredo/virtual-background/-/virtual-background-2023.2.0.tgz", + "integrity": "sha512-nvJAsf29ThXMN7tEvlvZ45MeIoXW2uoJxvBwsesYInjoSy0RASQr7qxrLMglX2yyztOeYZqJknQBttjJTGH/QA==", + "dependencies": { + "@types/dom-mediacapture-transform": "^0.1.4" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -4016,12 +4025,25 @@ "integrity": "sha512-o0ZyU3ePp3+KRbhHsY4ogjc+ZQWgVN5h6j8BHW5RII4cFKi6PEKK9QPAcphJVkD0dGpyFnD3VRR0WMvHVjCv9w==", "dev": true }, + "node_modules/@types/dom-mediacapture-transform": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@types/dom-mediacapture-transform/-/dom-mediacapture-transform-0.1.10.tgz", + "integrity": "sha512-zUxMN2iShu7p3Fz5sqfvLp93qW/3sLs+RwXWWOkMb969hsuoVqUUokqrENjXqTMNmEEcVXKoHuMMbIGcWyrVVA==", + "dependencies": { + "@types/dom-webcodecs": "*" + } + }, "node_modules/@types/dom-screen-wake-lock": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz", "integrity": "sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==", "dev": true }, + "node_modules/@types/dom-webcodecs": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", + "integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", diff --git a/package.json b/package.json index fea9c9601..0c44422e8 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "dependencies": { "@mdi/js": "^7.4.47", "@sapphi-red/web-noise-suppressor": "^0.3.5", + "@shiguredo/virtual-background": "^2023.2.0", "@traptitech/traq": "^3.17.0-3", "@traptitech/traq-markdown-it": "^6.3.0", "autosize": "^6.0.1", diff --git a/src/components/Main/MainView/QallView/QallView.vue b/src/components/Main/MainView/QallView/QallView.vue index e6ebe6e3a..136b7b2ab 100644 --- a/src/components/Main/MainView/QallView/QallView.vue +++ b/src/components/Main/MainView/QallView/QallView.vue @@ -3,13 +3,16 @@ import { useQall } from '/@/composables/qall/useQall' import VideoComponent from '/@/components/Main/MainView/QallView/VideoTrack.vue' import AudioComponent from '/@/components/Main/MainView/QallView/AudioTrack.vue' -const { tracksMap, addScreenShareTrack } = useQall() +const { tracksMap, addScreenShareTrack, addCameraTrack } = useQall() + +const devices = navigator.mediaDevices.enumerateDevices()