我们在一个有角度的2 Web应用程序中实现了Sinch.
一切正常,除非我尝试使用sinch手机演示呼叫用户.
当应用程序在前台运行时,它将响铃并建立连接.
当应用程序在后台运行时,没有任何反应.
在角度应用程序中,onCallProgressing事件监视器未被触发,页面只是等待直到它吐出此错误消息:
似乎问题在于缺少jquery函数,因为我将项目重写为angular.
我想知道我可以用sinch API解决这个问题.
错误的完整堆栈跟踪如下:
Error: Error executing listener: onCallEnded
at SinchError (http://cdn.sinch.com/latest/sinch.min.js:4:4093) [<root>]
at g.<anonymous> (http://cdn.sinch.com/latest/sinch.min.js:4:18715) [<root>]
at Array.forEach (native) [<root>]
at g.execListener (http://cdn.sinch.com/latest/sinch.min.js:4:18650) [<root>]
at g.mxpHangup (http://cdn.sinch.com/latest/sinch.min.js:4:30318) [<root>]
at g.hangup (http://cdn.sinch.com/latest/sinch.min.js:5:12013) [<root>]
at g.<anonymous> (http://cdn.sinch.com/latest/sinch.min.js:5:4195) [<root>]
at Zone.runTask (http://localhost:4200/polyfills.bundle.js:6135:47) [<root> => <root>]
at ZoneTask.invoke (http://localhost:4200/polyfills.bundle.js:6329:33) [<root>]
at data.args.(anonymous function) (http://localhost:4200/polyfills.bundle.js:7360:25) [<root>]
Run Code Online (Sandbox Code Playgroud)
这是使用sinch管理调用的角度组件:
import {Component, AfterViewInit, ViewChild, OnInit, OnDestroy} from '@angular/core';
import {Router, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将Sinch整合到我们的一个项目中.
我正试图从WEB呼叫到ANDROID应用程序..
连接已成功建立 ..但没有显示视频,并且呼叫在9到10秒内自动断开连接 ...
当我从Android App呼叫时不会发生这种情况到Web ..
我正在关注他们的视频通话文件中的代码.
登录电话:
Notification { progress=0, message="Successfully added proxy ICE candidate", object=mozRTCIceCandidate}
Notification { progress=0, message="Successfully sent JOINED", object=g}
Notification { progress=0, message="Call changing state to ESTABLISHED", object=undefined}
Notification { progress=0, message="Call was un-muted using unmute().", object=undefined}
Notification { progress=0, message="WebRTC: Connection state changed", object=Event iceconnectionstatechange}
Error { name="SinchError", domain=-1, code=1001, more...} // code: 1001, domain: -1, message: "Ice connection failed. …Run Code Online (Sandbox Code Playgroud) 我正试图在我的IOS应用程序中使用Sinch实现App-to-App调用.我已经在我的iOS应用程序中使用Sinch实现了Pushkit,但是当应用程序处于后台时推送通知不起作用.
我有两个问题.
我是否需要另一个Web服务来单独向我的应用发送推送通知以进行传入应用,或者Sinch自己处理它.
如果它确实处理了自己,那么我的代码中缺少什么.
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
[self handleLocalNotification:[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]];
self.push = [Sinch managedPushWithAPSEnvironment:SINAPSEnvironmentAutomatic];
self.push.delegate = self;
[self.push setDesiredPushTypeAutomatically];
[self.push registerUserNotificationSettings];
return YES;
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary *)options {
return [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
- …Run Code Online (Sandbox Code Playgroud) 您是否有关于此问题的想法:当我关闭收到的视频通话时,应用程序崩溃,出现以下错误:
11-13 16:59:00.341 6531-6531/appPackage E/SinchVideoService? stop
11-13 16:59:00.341 6531-6531/appPackage D/SinchClient? Degub: terminate()
11-13 16:59:00.351 6531-6698/appPackage E/rtc? #
# Fatal error in ../../../talk/app/webrtc/androidvideocapturer.cc, line 195
# Check failed: !running_
#
#
11-13 16:59:00.351 6531-6698/appPackage A/libc? Fatal signal 6 (SIGABRT), code -6 in tid 6698 (Sinch Worker Th)
Run Code Online (Sandbox Code Playgroud)
似乎是Sinch内部错误,有什么想法吗?
-----编辑------
当活动被销毁时会发生:
@Override
public void onDestroy()
{
if (getSinchServiceInterface() != null)
{
getSinchServiceInterface().removeMessageClientListener(this);
getSinchServiceInterface().stopClient();
}
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
从扩展Service的类中调用此方法(stop())时。
private void stop()
{
if (mSinchClient != null)
{
mSinchClient.terminate();
mSinchClient = null;
}
} …Run Code Online (Sandbox Code Playgroud) 谁能告诉我如何在 Sinch Android 中记录使用 callUser 或 callConference 方法拨打的电话?文件说联系我们进行录音,但我没有得到任何具体的解决方案,试图联系但没有回应。
除此之外,我尝试使用 MediaRecorder 录制通话,但出现错误MediaRecorder: start failed: -38 using all the available AudioSources。经过一些研究,我注意到 Sinch 也在使用一些使用 MIC 的内部 AudioRecording。因此,每当我尝试使用 MediaRecorder 进行录制时,都会失败,因为录制器源已在使用中。
这是我的录音代码:
private void initRecorder() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL); // I tried using MIC and everything but got the same error
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilename());
recorder.setOnErrorListener(errorListener);
recorder.setOnInfoListener(infoListener);
try {
recorder.prepare();
} catch (Throwable e) {
e.printStackTrace();
}
}
private void recordCall() {
try {
recorder.start();
} catch (Throwable e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Sinch SDK进行即时消息传递.如何注销用户?我有按钮注销用户,但无法在Sinch SDK中实现该功能.他们的文档或样本都没有描述这样的特征.
我正在尝试将我们的客户端应用程序(Android)身份验证方法从简单的ApiKey + Secret身份验证更改为应用程序服务器支持的更高级身份验证.
Sinch文档告诉您从Sinch客户端构建器代码中删除Secret.因此我的代码现在看起来像这样:
mSinchClient = com.sinch.android.rtc.Sinch.getSinchClientBuilder().context(applicationContext)
.applicationKey("API_KEY")
.environmentHost("SINCH_SERVER")
.userId("USER-ID")
.build();
Run Code Online (Sandbox Code Playgroud)
但这实际上导致一个异常,说我的applicationKey为空:
java.lang.RuntimeException: Unable to start service com.where.the.hell.are.you.BackgroundClientService@a7f29518 with Intent { cmp=com.where.the.hell.are.you/.BackgroundClientService }:
java.lang.IllegalArgumentException: applicationKey is empty
Run Code Online (Sandbox Code Playgroud)
它看起来像Sinch SDK中的一个错误,但也许我在这里缺少其他东西?
我正在使用Sinch SDK VERSION 3.2.3 for Android.
id<SINVerification> verification =
[SINVerification SMSVerificationWithApplicationKey:SINCH_Key phoneNumber:phoneNumber];
[verification initiateWithCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"sucess");
} else {
NSLog(@"error : %@", error.description);
}
}];
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
错误域= SINVerificationErrorDomain代码= 3"错误域= SINVerificationServiceErrorDomain代码= 403"错误域= SINVerificationServiceErrorDomain代码= 40303"未满足授权要求." UserInfo = 0x7f838254a420 {NSLocalizedDescription =未满足授权要求.}"UserInfo = 0x7f8382550270 {NSLocalizedDescription = Error Domain = SINVerificationServiceErrorDomain Code = 40303"未满足授权要求."UserInfo = 0x7f838254a420 {NSLocalizedDescription =未满足授权要求.},NSUnderlyingError = 0x7f838253c240"未满足授权要求."}"UserInfo = 0x7f83824a7a40 {NSLocalizedDescription = Error Domain = SINVerificationServiceErrorDomain Code = 403"Error Domain = SINVerificationServiceErrorDomain Code = 40303"未满足授权要求." UserInfo = 0x7f838254a420 {NSLocalizedDescription =未满足授权要求.}"UserInfo = 0x7f8382550270 {NSLocalizedDescription …
如何在Android中将Sinch的远程视图设置为全屏。
我尝试了VideoController.setResizeBehaviour,但是它不起作用。
我正在使用Sinch和Parse来集成我们的应用程序中的即时消息系统.由于某种原因,我在显示消息传递活动时收到以下错误:消息客户端没有启动".此外,消息似乎没有在Sinch中通过,也没有在应用程序中直观反映.
以下是活动代码(当用户点击"快速聊天"按钮时,它会将他们带到消息传递活动页面.
public class matchOptionActivity extends Activity{
protected TextView mUserRetrieved;
private String currentUserId;
protected TextView mUserActivityNameRetrieved;
protected TextView mUserNameRetrieved;
protected TextView mUserAgeRetrieved;
protected TextView mUserHeadlineRetrieved;
String userGender = ParseUser.getCurrentUser().getString("Gender");
String activityName = ParseUser.getCurrentUser().getString("ActivityName");
Number maxDistance = ParseUser.getCurrentUser().getNumber(
"Maximum_Distance");
String userLookingGender = ParseUser.getCurrentUser().getString(
"Looking_Gender");
Number minimumAge = ParseUser.getCurrentUser().getNumber("Minimum_Age");
Number maximumAge = ParseUser.getCurrentUser().getNumber("Maximum_Age");
Number userage = ParseUser.getCurrentUser().getNumber("Age");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.matchoption);
final Button idrinks = (Button) this.findViewById(R.id.btnQuickChat);
idrinks.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
openConversation();
} …Run Code Online (Sandbox Code Playgroud)