Commit df073031 by pangchong

Merge branch 'master' of 122.112.146.86:qlintonger/standalone-anyremote

parents 238fbc45 8eec9497
...@@ -41,7 +41,7 @@ export class Agora { ...@@ -41,7 +41,7 @@ export class Agora {
console.log('开始订阅远端用户', user, mediaType, foundUser); console.log('开始订阅远端用户', user, mediaType, foundUser);
const remoteUserIdInThisUser = this.remotePlayerPrefix + user.uid; const remoteUserIdInThisUser = this.remotePlayerPrefix + user.uid;
if (mediaType === 'video') { if (mediaType === 'video') {
user?.videoTrack?.play(remoteUserIdInThisUser); user?.videoTrack?.play(remoteUserIdInThisUser, {fit: 'contain', mirror: 'false'});
} }
if (mediaType === 'audio') { if (mediaType === 'audio') {
user?.audioTrack?.play(); user?.audioTrack?.play();
...@@ -93,7 +93,7 @@ export class Agora { ...@@ -93,7 +93,7 @@ export class Agora {
if (canProceed) { if (canProceed) {
console.log('创建音视频轨道成功!', this.data.localTracks) console.log('创建音视频轨道成功!', this.data.localTracks)
if (this.data.localTracks.videoTrack) { if (this.data.localTracks.videoTrack) {
this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain'}) this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain', mirror: 'false'})
} }
console.log('开始播放本地媒体') console.log('开始播放本地媒体')
await this.AgoraClient.publish(Object.values(this.data.localTracks)); await this.AgoraClient.publish(Object.values(this.data.localTracks));
...@@ -119,7 +119,7 @@ export class Agora { ...@@ -119,7 +119,7 @@ export class Agora {
if (v) { if (v) {
try { try {
const screenAudioTrack = await AgoraRTC.createScreenVideoTrack({}, 'disable'); const screenAudioTrack = await AgoraRTC.createScreenVideoTrack({}, 'disable');
screenAudioTrack.play(this.localPlayerId, {fit: 'contain'}); screenAudioTrack.play(this.localPlayerId, {fit: 'contain', mirror: 'false'});
await this.AgoraClient.publish(screenAudioTrack); await this.AgoraClient.publish(screenAudioTrack);
webrtcStates.value.currentUsingCameraName = ''; webrtcStates.value.currentUsingCameraName = '';
screenAudioTrack.on('track-ended', async () => { screenAudioTrack.on('track-ended', async () => {
...@@ -141,7 +141,7 @@ export class Agora { ...@@ -141,7 +141,7 @@ export class Agora {
} else { } else {
this.data.localTracks.videoTrack = await AgoraRTC.createCameraVideoTrack(); this.data.localTracks.videoTrack = await AgoraRTC.createCameraVideoTrack();
webrtcStates.value.currentUsingCameraName = this.data.localTracks.videoTrack._deviceName; webrtcStates.value.currentUsingCameraName = this.data.localTracks.videoTrack._deviceName;
this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain'}) this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain', mirror: 'false'})
await this.AgoraClient.publish(this.data.localTracks.videoTrack); await this.AgoraClient.publish(this.data.localTracks.videoTrack);
} }
} }
...@@ -158,7 +158,7 @@ export class Agora { ...@@ -158,7 +158,7 @@ export class Agora {
this.data.localTracks.videoTrack = await AgoraRTC.createCameraVideoTrack(); this.data.localTracks.videoTrack = await AgoraRTC.createCameraVideoTrack();
webrtcStates.value.currentUsingCameraName = this.data.localTracks.videoTrack._deviceName; webrtcStates.value.currentUsingCameraName = this.data.localTracks.videoTrack._deviceName;
await this.AgoraClient.publish(this.data.localTracks.videoTrack); await this.AgoraClient.publish(this.data.localTracks.videoTrack);
this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain'}) this.data.localTracks.videoTrack.play(this.localPlayerId, {fit: 'contain', mirror: 'false'})
} }
} }
...@@ -171,7 +171,7 @@ export class Agora { ...@@ -171,7 +171,7 @@ export class Agora {
async forceReplay(id, vid) { async forceReplay(id, vid) {
const foundUser = this.AgoraClient.remoteUsers.find(i => i.uid.toString() === id.toString()); const foundUser = this.AgoraClient.remoteUsers.find(i => i.uid.toString() === id.toString());
console.log('强制播放用户', foundUser) console.log('强制播放用户', foundUser)
await foundUser?.videoTrack?.play(vid); await foundUser?.videoTrack?.play(vid, {fit: 'contain', mirror: 'false'});
} }
async switchDeviceForCamera(id) { async switchDeviceForCamera(id) {
...@@ -226,6 +226,9 @@ export class Agora { ...@@ -226,6 +226,9 @@ export class Agora {
const uidS = user.uid.toString() const uidS = user.uid.toString()
const targetUser = userStates.value.onlineContacts.find(a => a.fromID.toString() === uidS); const targetUser = userStates.value.onlineContacts.find(a => a.fromID.toString() === uidS);
console.log('在线用户加入了频道', targetUser) console.log('在线用户加入了频道', targetUser)
if (!chatChannelState.value.currentChatters.includes(targetUser.fromID)) {
chatChannelState.value.currentChatters.push(targetUser.fromID)
}
if (typeof this.app.infoCB === 'function') { if (typeof this.app.infoCB === 'function') {
this.app.infoCB(`${targetUser.fromName}加入了会议`) this.app.infoCB(`${targetUser.fromName}加入了会议`)
} }
...@@ -238,6 +241,7 @@ export class Agora { ...@@ -238,6 +241,7 @@ export class Agora {
if (typeof this.app.infoCB === 'function') { if (typeof this.app.infoCB === 'function') {
this.app.infoCB(`${targetUser.fromName}离开了会议`) this.app.infoCB(`${targetUser.fromName}离开了会议`)
} }
chatChannelState.value.currentChatters = chatChannelState.value.currentChatters.filter(a=>a!==targetUser.fromID);
}) })
this.AgoraClient.on('user-published', (user, mediaType) => { this.AgoraClient.on('user-published', (user, mediaType) => {
console.log('检测到远程用户发布媒体', user, mediaType); console.log('检测到远程用户发布媒体', user, mediaType);
......
...@@ -133,42 +133,43 @@ function initialPaintDone(blob: Blob) { ...@@ -133,42 +133,43 @@ function initialPaintDone(blob: Blob) {
} }
function paintSaved(blob: any) { function paintSaved(blob: any) {
AnyR?.agora.archiveMark(blob, 'temp.png') const file = new File([blob], 'temp.png')
const params = {
apiPwd: 'Ifar$2_0160_525_Mocp',
file,
requestFrom: 6,
uid: 4
}
alova
// @ts-ignore
.Post<any>('/admin/uploadMuFile', params, { meta: { isUpload: true } })
.then((res) => {
if (res.code == 200) {
AnyR?.agora.archiveMark({
fileUrl: res.data.url,
fileName: res.data.name,
fileSize: Number.parseInt(res.data.size),
fileType: 'image'
})
}
})
} }
async function beforeEndMarkHandle() { async function beforeEndMarkHandle() {
if (isScreenShotByCurrentUser.value) { if (isScreenShotByCurrentUser.value) {
return new Promise(function (resolve) { return new Promise(function (resolve) {
Modal.warning({ Modal.warning({
title: '你是截图发起者,退出后将会要求其他用户一同退出,确认?', title: '退出确认',
content: () => content: "你是截图发起者,退出后将会要求其他用户一同退出,确认?",
h( okText: "确认",
'div', cancelText: "取消",
{ hideCancel: false,
class: 'flex w-full items-center justify-center' onOk() {
}, resolve(true)
[
h(
Button,
{
size: 'small',
type: 'primary',
status: 'warning',
onClick: () => resolve(true)
}, },
'确定' onCancel() {
), resolve(false)
h(
Button,
{
size: 'small',
type: 'primary',
onClick: () => resolve(false)
}, },
'取消'
)
]
)
}) })
}) })
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment