当我在iOS上发布流时,TokBox使用默认摄像头.有没有办法向发布者添加实时过滤器?
我只想要一些关于如何创建过滤器并将其附加到opentok发布者对象(OTVideoCapture)的简单示例代码.
或者,如果这不是正确的方法...在订户端附加过滤器也可以.
怎么能轻松完成?
我想在我的网站上提供视频聊天,并想知道是否有人可以推荐一个API /服务,让我这样做.我熟悉OpenTok,但不喜欢它使用Flash.此外,音频往往有很多噪音/反馈 - 除非你戴着耳机.
建议?
编辑:
我现在正在将它用于P2P,但是希望将来能够进行群组视频聊天.
Flash是我主要关心的问题之一.当我使用OpenTok时,我注意到Flash有时会崩溃.虽然Flash也会在其他时间崩溃 - 但在将其用于OpenTok时似乎更频繁.我理解Flash有它的好处(对我来说最重要的是我几乎可以指望我的用户拥有它),但我想尽可能探索其他选项.Flash应该是一种垂死的技术?
音频是另一个主要问题.通常会出现回声和明显的延迟.使用相同的设置(互联网连接,计算机,麦克风/扬声器等)并将其与Skype进行比较,显然Skype更加优越.
玩家是我最后的关注点.以下是我不喜欢的事情:
我在我的Android应用程序中收到这些错误,这里是LogCat.
> Error:Execution failed for task
> ':android:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
> org/webrtc/voiceengine/WebRtcAudioRecord.class
Run Code Online (Sandbox Code Playgroud)
我正在尝试将第二个WebRTC集成到我的Android应用程序中,我已经在我的项目中集成了TokBox jar,现在我也想在应用程序中放置VSee SDK,我猜两个都有WebRTC库所以,我得到了重复的错误,但我找不到一种方法来排除其中一个修复重复错误.
到目前为止,我尝试在我的应用程序的Gradle构建中添加此项.
> exclude group: 'org.webrtc'
Run Code Online (Sandbox Code Playgroud)
但它没有用,有人可以帮助我吗?提前致谢!
Android 电信管理器在添加的 VOIP 呼叫中没有传入的音频/声音
我正在尝试在我的应用中添加 VOIP 视频通话。我已经注册了电话帐户并将呼叫添加到 TelecomManager。呼叫被成功接受。我已经实现了 Connection 和 ConnectionService。
我正在使用以下代码添加呼叫。
var uri = Android.Net.Uri.FromParts(PhoneAccount.SchemeSip, voipCallInfo.Payload?.CallerName, null);
extras.PutParcelable(TelecomManager.ExtraIncomingCallAddress, uri);
extras.PutParcelable(TelecomManager.ExtraPhoneAccountHandle, phoneAccountHandle);
telecomManager.AddNewIncomingCall(phoneAccountHandle, extras);
Run Code Online (Sandbox Code Playgroud)
我正在使用下面的代码来接听来电。
var telecomManager = GetTelecomManager();
if (telecomManager == null)
{
logger.Error("Telecom Manager is null, May be permissions not granted");
return;
}
try
{
.
.
.
telecomManager.AcceptRingingCall();
.
.
}
catch (Exception ex)
{
logger.Error("RequestSystemToAnswerCall Exception : " + ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
我试图请求音频焦点,但是当我在电信管理器中添加呼叫时,我的应用程序失去了焦点,因为电话开始响铃。在我接受通话应用程序后,我没有获得焦点,我相信 Telecom/Call 有焦点,但我什么也听不到。通话中的另一个人可以毫无问题地听到我的声音。当我结束通话时,应用程序会重新获得焦点。
我可以在日志中看到下面的内容。
2020-06-22,14:09:34.831 WebRTCManager Trace IsAudioSubscriptionEnabled True
[AudioManager] Use of stream …Run Code Online (Sandbox Code Playgroud) 我查看了这些链接
http://www.tokbox.com/opentok/api/tools/js/documentation/overview/publish.html
http://www.tokbox.com/opentok/api/tools/js/tutorials/overview
但它们不是手动发布发布的示例,也就是说,不分别使用'streamCreated'/'streamDestroyed'事件处理程序发布/取消发布.
我想这样做的原因是我有一个发布/取消发布的按钮,以便用户可以随意进行.
有没有办法做到这一点?
我正在使用OpenTok并用我自己的包含GPUImage的子类版本替换了他们的Publisher.我的目标是添加过滤器.
应用程序构建并运行,但崩溃在这里:
func willOutputSampleBuffer(sampleBuffer: CMSampleBuffer!) {
let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)
CVPixelBufferLockBaseAddress(imageBuffer!, 0)
videoFrame?.clearPlanes()
for var i = 0 ; i < CVPixelBufferGetPlaneCount(imageBuffer!); i++ {
print(i)
videoFrame?.planes.addPointer(CVPixelBufferGetBaseAddressOfPlane(imageBuffer!, i))
}
videoFrame?.orientation = OTVideoOrientation.Left
videoCaptureConsumer.consumeFrame(videoFrame) //comment this out to stop app from crashing. Otherwise, it crashes here.
CVPixelBufferUnlockBaseAddress(imageBuffer!, 0)
}
Run Code Online (Sandbox Code Playgroud)
如果我评论该行,我就可以运行应用程序而不会崩溃.事实上,我看到过滤器正确应用,但它正在闪烁.Nothings发布到Opentok.
我的整个代码库都可以下载.单击此处查看特定文件:这是该类的特定文件.它实际上很容易运行 - 只需在运行之前进行pod安装.
经过检查,可能videoCaptureConsumer是没有初始化.协议参考
我不知道我的代码意味着什么.我直接从这个客观的C文件中翻译了它:Tokbox的示例项目
我们制作了一个应用程序,可以在两个设备(ios,android和web)之间进行视频通话.使用cordova,opentok,nodejs和cordova-opentok-plugin.在测试期间,我们注意到Android设备上的声音有点低,很难听到对方说话.我们测试了应用程序中的声音,并将其与Google Hangouts和普通电话的测试进行了比较.从这些测试中我们可以看到音频在我们的应用程序中处于最大音量.音频流通过所有这些应用程序的呼叫通道和我们自己的应用程序.
我们使用Skype测试了相同的设备,也通过呼叫频道进行了测试,而且Skype上的声音比我们自己的应用程序和Google Hangouts甚至是普通的电话都要大得多.
所以看来Skype已经找到了一种提升Android音频的方法.有谁知道我们如何实现这种音频通道的增强/放大?
提前致谢.
我目前正在使用opentok api 构建一个实时视频聊天医疗保健应用程序,其技术主要基于WebRTC,并且想知道如何处理整体安全方面.
我们正在使用https://static.opentok.com/v2/js/opentok.min.js
使用Google Chrome v47.0.2时遇到间歇性问题
一旦会话连接,没有显示权限对话框,浏览器就会在控制台"OT.Publisher.onStreamAvailableError Permission Denied"中直接抛出拒绝访问消息(无法访问麦克风或摄像头).这个错误最近开始发生 - 12月中旬.
我们尝试在各种论坛上探讨这个问题,包括这个问题.我们只能提出这篇文章 - https://support.tokbox.com/hc/en-us/community/posts/205065196-displaying-error-opentok-min-js-64-1500-Session-publish-OT -Publisher-禁止访问的权限被拒绝,最终用户被拒绝-允许对硬件设备- ?input_string = OT.Publisher.onStreamAvailableError%20Permission%20Denied%20on%20Chrome
但是,这是无关紧要的,因为我们使用https来处理所有应用程序请求.
请帮助我们因为这个bug而陷入生产环境.
我正在尝试使用 Chrome 和 Chromium 中的 TokBox 服务实现屏幕共享。在 chrome 提示选择一个窗口后,一切正常,但是当我停止屏幕共享时,单击屏幕共享正在进行时出现的“弹出”中的“停止共享”按钮,会发生错误:
Uncaught TypeError: Cannot read property 'connections' of null ---- opentok.js line 11103
在同一浏览器中使用 tokbox meet demo 时不会发生此错误:http ://meet.tokbox.com
我修改了基本的 tokbox 教程代码来重现这个问题:
<div id="camera"></div>
<div id="screen-preview"></div>
<div id="screen"></div>
<script src="//static.opentok.com/v2/js/opentok.js"></script>
<script type="text/javascript">
// Go to https://dashboard.tokbox.com/ to find your OpenTok
// API key and generate a test session ID and token:
var apiKey = "<%= api_key %>";
var sessionId = "<%= session_id %>";
var token = "<%= token %>";
var session …Run Code Online (Sandbox Code Playgroud)