问题标签 [aws-chime-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
204 浏览

aws-chime-sdk - 适用于 .NET 的 Amazon Chime 开发工具包

我目前正在使用 AWS Chime 开发工具包。我能够检索聊天室列表,聊天室成员。问题如下:“如何使用上述 SDK 获取聊天室消息、一对一消息和群组消息”。

0 投票
0 回答
114 浏览

android - AWS Chime(webrtc 音频)+ Oculus Quest 2 - 即使 getStreamVolume 显示不同的值,setStreamVolume 也不会改变实际音量

我使用亚马逊的 AWS Chime 建立 voip 音频通信。我的实际设置有点复杂,我将chime android sdk构建到一个模块中,并进行了一些更改以删除视频部分,并将其包含在我基于 Unity 的 Oculus Quest 2 应用程序中。不过,我也测试了 Chime 的演示应用,通过 Android Studio 直接将 APK 发送到 Quest 2;它运行并正确连接到会议、流式音频甚至聊天。

不幸的是,使用硬件按钮更改音量没有任何效果。

我将以下代码段添加到演示应用程序中,用于测试目的

首先,在 Quest 上,每次更改都发生在 uricontent://settings/system/volume_music_speaker上,连接时Audiomanage.getMode()从 0 到 3 的更改MODE_IN_COMMUNICATION

在最近的 Oculus 软件更新后,一个音频流上的每一个更改都会自动应用到所有其他音频流。这就是为什么如果我按两次硬件音量按钮,这就是我的日志显示的原因

显示所有流的值都发生了变化(每个流都相对于它们自己的最大/最小值。例如从 1 到 5 的 CALL 等)

问题是即使我到达这种情况

与我交谈的人的实际音量没有下降。

Chime 的主 sdk 依赖于开发人员发布的预编译辅助 sdk,其代码不公开。我对其进行了反编译,JD GUI但其中包含实际内容的方法受到保护。我只能在他们的 webrtc 库中看到, anAudioTrack被实例化并用于流式传输语音字节,并且它设置为AudioSessioId0 。AudioManager将模式设置为 3,仅此而已(可见)。如果我有对 AudioTrack 的引用,我可以尝试直接更改音量,但它不会暴露。

我试过了:

  • 反编译媒体 sdk 以查看发生了什么,但它受到保护。
  • NotificationListenerService通过注册为 a并调用来寻找正在进行的 AudioSessions MediaSessionManager#getActiveSessions,但不存在来自 chime 的会话(确实出现了后台的 spotify,所以我的代码有效)
  • AudioManager.setMode(0),但即使模式改变,音量仍然没有下降。
  • 附加audiofx.Equalizer到会话 0(已弃用)只是为了看看我是否可以改变所有频段的增益并降低全局输出组合的音量。但它对会话 0 没有影响。(我仔细检查了将 eq 应用于测试 AudioTrack 和测试 MediaPlayer 的代码,它在两种情况下都有效)
  • 考虑使用 NDK 来访问 AudioFlinger,但它确实看起来很复杂而且矫枉过正。
  • 在 Chime 的 github repo 上写了一个问题,因为我正在寻找答案,所以很难得到答案,而且该应用程序是为 Android 设计的,音量确实会改变
  • 编写一个测试 android 应用程序,在其中我在流模式下创建了一个 AudioTrack,将其属性设置为USAGE_VOICE_COMMUNICATIONand CONTENT_TYPE_SPEECH,将 AudioManager 的模式更改为 3 并通过 Android Studio 在 Oculus Quest 上运行它。通过按下硬件音量按钮和以编程方式正确更改了音频。因此,它一定是 chime hidden media sdk 所做的与 Quest 的 Android 不兼容的事情

最终,我不明白的是,第三方 webrtc 库如何能够在 MODE_IN_COMMUNICATION 中播放 AudioTrack,即使我以编程方式降低每个流的音量,例如AudioManager.STREAM_MUSICAudioManager.STREAM_VOICE_CALL等,实际音量不会改变而getStreamVolume()另有说法。而且,怎么可能允许第三方库播放音频,而开发人员无法访问所有播放内容并控制它们。

我希望在 Android 音频和 Oculus Quest 内部恶作剧方面比我更有经验的人能够对正在发生的事情有所了解。

0 投票
0 回答
134 浏览

amazon-web-services - 使用 amazon chime sdk 实时跟踪用户状态

我有一个消息传递应用程序(用 amazon chime sdk 编写),它允许用户创建通道并通过它们进行通信。用户还可以将彼此添加到朋友列表之类的东西中。

我要实现的下一步是让用户在他们的朋友列表中实时跟踪在线/离线状态。

您能否建议我应该选择哪个 aws 服务来完成此功能?

谢谢!

0 投票
1 回答
247 浏览

amazon-web-services - 如何在 AWS Chime sdk 上向用户发送私人消息?

我正在使用 AWS Chime JS 开发工具包并想向用户发送私人消息。通过消息,我的意思是向特定用户显示弹出模式。

我一直在阅读文档,但总的来说我还没有找到如何向特定用户发送消息。

https://aws.github.io/amazon-chime-sdk-js/modules/apioverview.html#9-send-and-receive-data-messages-optional

在 Chime 下这可能吗?

0 投票
0 回答
169 浏览

reactjs - AWS chime 反应没有音频输入

接受允许麦克风访问的提示后,useAudioInputDevices 挂钩仍然显示输入数组。如何显示输入设备

0 投票
1 回答
751 浏览

reactjs - 如何在 useEffect 中使用自定义挂钩?

我正在使用Amazon 的 Chime SDK Component Library for React。组件库有许多组件和钩子可供使用。

其中一个组件是<LocalVideo />. 问题是它从禁用视频开始。为了打开它,你使用 hook useLocalVideo()

在我见过的例子中,他们使用一个按钮来执行钩子:

这工作正常。但是如果我想让 LocalVideo 组件加载启用呢?例如,如果我不想让某人不得不点击一个按钮?

我尝试了几种不同的方法,包括:

  1. 将代码直接添加到组件中(这不起作用,我假设是因为在使用 LocalVideo 组件的渲染完成之前调用了钩子)。
  2. 在里面添加代码useEffect(无效的 Hook 调用错误)。

例如:

如何让这个钩子在组件渲染后运行?

0 投票
0 回答
115 浏览

aws-chime-sdk - AWS Chime 开发工具包 | 安排的会议无法获取

当我使用 Chime SDK for React 创建预定会议时,我间歇性地收到此错误代码“会议/班级不存在”无法获取

0 投票
1 回答
169 浏览

javascript - 使用javascript检测浏览器中的硬件加速

是否有任何库或内置 javascript 可以用来检查当前浏览器是否打开或关闭了硬件加速功能?现在我正在使用 Bodypix 使用 react.js 设置虚拟背景和 chime meeting,这需要硬件加速才能获得更好的性能。我只想在用户尝试通过浏览器关闭硬件加速设置虚拟背景时发出警报。

0 投票
0 回答
172 浏览

amazon-web-services - 使用 aws chime 增加 createMediaCapturePipeline 的视频捕获时间

我正在使用 chime sdk 创建 createMediaCapturePipeline 来录制 chime 会议,它工作正常,但它只会在 5 秒内捕获视频帧。如何增加拍摄视频的时间。下面是我的代码:

0 投票
0 回答
111 浏览

javascript - 您如何在您的应用程序中测试多个对等点/视频限制?

只是想从使用 Chime JS SDK 开发应用程序的同行那里知道如何在您的应用程序中测试视频磁贴限制(当前设置为 25)和屏幕共享(当前设置为 2)等限制。