我目前正在开发一个项目,涉及从IP摄像头到Android设备的rtsp流.
电话和IP摄像头连接到同一个接入点/路由器.
问题是流有一个非常大的延迟,大约5秒,如果你从互联网上观看一个流我认为缓冲区是可以的,但是对于我的应用程序来说是不可接受的,不再那么真实了,它是无用的...当然,为了确保相机不是应该责备的,我在VLC中测试了我的ip cam流到我的电脑,缓存设置为0,它完全正常工作.
我没有找到关于我的问题的videoview类的任何属性,所以我开始寻找opencore源代码,希望找到一些我可以修改并减少rtsp缓存/缓冲区的东西,我试着理解这些是如何工作的,但由于那些非常复杂,我没有设法做到这一点.
现在我在我的项目中陷入困境,无法找到出路......应用程序截止日期非常快.:|
每个有任何想法让这件事得到解决的人请帮助我,因为我现在有点绝望了.
我目前正在开发Android中的tcp客户端.我想将我的Android设备连接到计算机上的tcp服务器,并每2秒接收一次数据.问题是由于我在tcp客户端中实现的while循环,我正在关闭我的应用程序.我尝试以不同的方式编写将使tcp客户端检查服务器套接字的循环,但没有成功.如何制作一个循环来检查服务器套接字而不关闭力?
这是我目前正在使用的代码:
public class Connection implements Runnable {
@Override
public void run() {
try {
sk=new Socket(server,port);
viewsurface.setText("connected");
flag = true;
} catch (UnknownHostException e) {
viewsurface.setText("failed 1 socket");
flag = false;
} catch (IOException e) {
viewsurface.setText("failed 2 socket");
flag = false;
}
while (flag == true){
try {
checkin = sk.getInputStream();
checkint = checkin.available();
if (checkint > 0){
try {
BufferedReader in = new BufferedReader(new InputStreamReader(sk.getInputStream()));
received = in.readLine();
viewsurface.setText(received);
} catch (IOException e) {
viewsurface.setText("failed to receive"); …Run Code Online (Sandbox Code Playgroud) android ×2