我正在开发一个Android应用程序,我必须在其中实现点对点语音聊天.我在Android中发现这可能在API级别12或更高级别,因为Google android.net.rtp在API级别12中添加了包.通过使用此包,我们可以实现点对点语音聊天和视频聊天.但我需要为API级别8实现此功能.现在我的问题是:
我有一个VoIP应用程序,使用TCP服务唤醒来电.使用此代码片段创建TCP套接字:
CFReadStreamRef read = NULL;
CFWriteStreamRef write = NULL;
...
CFStreamCreatePairWithSocketToHost(NULL,(__bridge CFStringRef)shost, port, &read, &write);
self.read = (__bridge NSInputStream*)read;
self.write = (__bridge NSOutputStream*)write;
if (![self.read setProperty:NSStreamNetworkServiceTypeVoIP
forKey:NSStreamNetworkServiceType]){
[Log log:@"Could not set VoIP mode to read stream"];
}
if (![self.write setProperty:NSStreamNetworkServiceTypeVoIP
forKey:NSStreamNetworkServiceType]){
[Log log:@"Could not set VoIP mode to write stream"];
}
self.read.delegate = self;
self.write.delegate = self;
CFRelease(read);
CFRelease(write);
[self.read scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[self.write scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[self.read open];
[self.write open];
Run Code Online (Sandbox Code Playgroud)
我还设置了以下内容:
这应用程序处于前台时效果很好,甚至在后台运行良好几分钟,但几分钟后 …
我想使用我的覆盆子pi作为SIP/VOIP-Phone,只需通过SSH控制RPI.
我找到了一些教程,看起来Twinkle是最有用的应用程序之一.
所以我成功地在我的RPI上安装了闪烁,在我的Android-Phone上安装了一个SPI-Client,因为我知道我可以从一个到另一个发送短信.
问题是:我必须使用Twinkel GUI与X-Server转发(目前使用MacOS与X11和iTerm).
但我有点希望自动化整个过程,比如从命令行使用twinkle,用脚本控制它等.
因此,显然不是为此而闪烁的.(甚至没有account-config-file的文档,所以我不得不努力通过x11-forwarding-stuff)
所以,我的最后一个问题是:是否可以通过CLI控制RPI的可比SIP客户端?
任何提示都受到高度赞赏.在谷歌搜索这个问题时,我刚刚发现项目在RPI上使用asterisk-server或将显示附加到它 - 但那不是我想要的......
欢呼和谢谢
-setKeepAliveTimeout:handler:不推荐使用的iOS9状态的当前API更改.
到目前为止,这是iOS上的VoIP SIP应用程序可以维持其与SIP服务器的注册的唯一方式.
这种技术被LinPhone等其他应用程序使用.
有没有人对Apple提出的替代方案有所了解?或者,从(后)iOS9开始,SIP是否会瘫痪?
请参阅:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/setKeepAliveTimeout : handler:
我目前正在使用WebRTC进行VoIP.它将是一个用JavaScript编写的UWP应用程序.
现在,我试图通过测试Microsoft Edge上的https://webrtc.github.io/samples中的示例来检查它是否有效.
事实证明它除了 工作正常RTCPeerConnection.
例如,当我在Edge中打开https://webrtc.github.io/samples/src/content/peerconnection/audio时,它getUserMedia() error: NotFoundError在我点击呼叫按钮时给了我.在Chrome上,它运行正常.
另一个例子是当我尝试https://apprtc.appspot.com时,它给了我
Messages:
Error getting user media: null
getUserMedia error: Failed to get access to local media. Error name was NotFoundError. Continuing without sending a stream.
Create PeerConnection exception: InvalidAccessError
Version:
gitHash: c135495bc71e5da61344f098a8209a255f64985f
branch: master
time: Fri Apr 8 13:33:05 2016 +0200
Run Code Online (Sandbox Code Playgroud)
那么,我该如何解决这个问题呢?Adapter.js也被称为.我也允许它需要的一切.
或者我不应该将WebRTC用于此项目.如果是这样,我应该使用什么?
干杯!
我想创建一个适用于iOS的应用程序,可以通过与网站交互来完成VOIP.我也可以从Android开始.
有没有人知道任何有用的教程,建议或库.
(该应用程序最终也需要为BB和android重写.)
编辑:
奖励:什么是SIP?
我在一个VoIP应用程序上工作.AudioSession的模式设置为kAudioSessionMode_VoiceChat.
对于一个调用,我打开一个带有子类型kAudioUnitSubType_VoiceProcessingIO的CoreAudio AudioUnit.一切正常.第一次调用后,我使用AudioUnitUninitialize()关闭AudioUnit,然后停用音频会话.
然而,现在,似乎音频设备没有正确释放:铃声音量非常低,媒体播放器的音量低于平时.对于后续调用,我不能再激活kAudioUnitSubType_VoiceProcessingIO.它可以用kAudioUnitSubType_RemoteIO创建一个AudioUnit,但是调用的音量也非常低(接收器和扬声器).
这首先发生在iOS 5上.随着iOS 6上的iPhone 5,它甚至更糟(甚至更低的音量).
有没有人见过这个?我需要做的不仅仅是AudioUnitUninitialize()来释放语音处理单元吗?
我正在研究HTML5应用程序,它允许多个用户处理一个文档.我需要为用户添加一种可能性(编辑同一文档)以便彼此交谈.而我只是不知道如何开始.这是我的问题
任何想法都非常感谢!所以不要害羞!:)
UPD:请注意我需要超过两个用户才能说话.
我正在尝试运行从Google Andoid示例应用程序下载的SIPDemo,但无法让它运行.
我面临的问题是,在我调用SipManager.open传递一个配置文件和一个待定的意图后,它应该开始与SIP提供商的注册过程,在我的情况下,我使用已注册的帐户进行连接.但是SipRegistrationListener中的回调都没有被触发.不确定应用程序是否能够注册的天气,应用程序甚至能够连接到SIP服务器.
另请注意,我在SipManager.open调用中将null作为listner传递,但在下一行中通过调用SipManager.setRegistrationListener提供侦听器.
下面是我在下载后稍微修改过的FullScreenActivity的完整代码.
public class CallActivity extends AppCompatActivity {
private static final String INTENT_INCOMING_CALL = "android.SipDemo.INCOMING_CALL";
private static final String TAG_CALL_ACTIVITY = "CallActivity";
public String sipAddress = "yyyyyyyyyyy";
public SipManager mSIPManager;
public SipProfile mLocalSIPProfile;
public SipAudioCall mSIPAudioCall;
public IncomingCallReceiver mCallReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
IntentFilter filter = new IntentFilter();
filter.addAction(INTENT_INCOMING_CALL);
mCallReceiver = new IncomingCallReceiver();
this.registerReceiver(mCallReceiver, filter);
initSIPManager();
}
public void initSIPManager() {
if …Run Code Online (Sandbox Code Playgroud) 我们正在使用agora.io在我们的应用程序(VOIP)中进行语音呼叫。两个人之间的通话似乎很顺利。但是,当我拨打B人的电话时,在通话过程中我听不到拨号音。我基本上想在通话时听到铃声。但是,此人在电话响铃时正在收听来电者的声音。
有人可以帮我怎么做吗?
我们正在构建Android App,Java,Kotlin和Agora.io SDK
voip ×10
android ×4
sip ×4
ios ×2
javascript ×2
agora.io ×1
background ×1
blackberry ×1
chat ×1
client ×1
core-audio ×1
html5 ×1
ios9 ×1
iphone ×1
java ×1
keep-alive ×1
raspberry-pi ×1
registration ×1
sockets ×1
video ×1
voice ×1
volume ×1
webrtc ×1