Articles of 流

Android MediaPlayer流媒体在网络更改时停止

我在Android上使用MediaPlayer传输音频。 当设备从Wi-Fi移动到蜂窝网络或反之亦然时,MediaPlayer停止播放。 通常,缓冲区中有几秒钟的音频,因此播放不会立即停止。 理想情况下,我想选择不间断播放的流,但我看不出怎么做。 我正在处理服务器上托管的mp3文件和实时广播流。

当我需要使用它2次时,如何重新打开关闭的InputStream

我目前正在使用InpuStream从我的服务器获取JSON响应。 我需要做两件事: 解析它并在屏幕上显示值 将此Feed保存在SDCard文件中 在逐个使用这两种方法时,这完全没有问题。 使用GSON进行解析: Gson gson = new Gson(); Reader reader = new InputStreamReader (myInputStream); Result result = gson.FrmJson(reader, Result.class) 并将复制到SDCard FileOutputStream f (…) f.write (buffer) 他们都已经过测试。 问题是一旦解析完成,我想写入SDCard并且它会中断。 我知道我的InputStream已关闭,这就是问题所在。 这里有一些接近我的问题: 如何缓存InputStream以供多次使用 有没有办法改进该解决方案并提供我们可以使用的东西?

使用InputStream读取文本文件

如何读取Android应用程序中的文本文件: “1.something written 2.in this file 3.is to be read by 4.the InputStream …” 所以我可以返回一个字符串,如: “something written\nin this file\nis to be read by\nthe InputStream” 我想到的是(伪代码): make an inputstream is = getAssest().open(“textfile.txt”); //in try and catch for loop{ string = is.read() and if it equals “.” (ie from 1., 2., 3. etc) add “/n” … }

在Android上获取IP Camvideo流(MJEPG)

我目前正在以3人为一组进行AndAR项目。我是负责Android手机video流的人。 我得到了一台D-Link DCS-920 IP摄像机,我发现它使用MJPEG编解码器作为直播video流,网络服务器使用Jview来观看直播。 据我所知,MJPG不是Android OS支持的文件types所以我想出了一个想法,而不是使用ImageView,我使用WebView来传输video。 我实现了一个非常简单的概念,它的工作原理! 但问题是,刷新率很糟糕。 我得到video图像(例如: http://img.androidcookie.com/android/image.jpg : http://img.androidcookie.com/android/image.jpg )来查看WebView并实现一个Timer来控制刷新率(假设它设置为30fps,每33ms刷新一次)但是它只能达到500毫秒的间隔,任何较低的间隔我注意到它不会更平滑,有时图像不会加载和连接不稳定(例如:掉落)。 难道这比我能以更快的速度刷新吗? 但是在网络服务器Jview上它没有问题! 我试图findjview的源代码,但我没有希望。 无论如何这里是我写的代码 package org.example.test; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.widget.Button; import android.widget.EditText; public class Webview extends Activity { public WebView webView; public Timer autoUpdate; public String url; /** Called when the activity […]

将Android截屏流式传输到PC

我将介绍一个Android应用程序,由于它将有大量的受众协助,我可能需要将Android屏幕直播流式传输到PC。 你知道任何工具(免费或付费)能够做到吗? 谢谢。

从android中的HttpURLConnection获取InputStream时获取UnknownLengthHttpInputStream

HttpURLConnection.getInputStream()给出UnknownLengthHttpInputStream,由于此Document解析引发SAX解析器exception。 以下是代码 try{ URL url = new URL(uri); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod(“GET”); connection.setRequestProperty(“Accept”, “application/xml”); InputStream xml = connection.getInputStream(); System.out.println(connection.getResponseCode()); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(connection.getInputStream()); doc.getDocumentElement().normalize(); }catch(Exception e){ e.printStackTrace(); } 任何人都知道UnknownLengthHttpInputStream的原因。 我只在android中获得此错误,此代码在Java Project中完美运行。 以下是LogCat的例外: 08-08 11:07:40.490: W/System.err(1493): org.xml.sax.SAXParseException: Unexpected end of document 08-08 11:07:40.504: W/System.err(1493): at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:129) […]

Android设备之间的蓝牙音频流

我对同一主题进行了研究,发现android设备是a2dp源,音频只能从a2dp源流到a2dp接收器。 A2dp接收器可以是蓝牙耳机或蓝牙扬声器。 但我的问题是那个名为 “ 蓝牙音乐播放器 ” 的Android应用程序是如何 工作的 ? 它允许从一个移动设备流式传输到另一个 因此,在这种情况下,收听移动设备必须充当接收器。 这怎么可能? 他们使用的是其他配置文件而不是a2dp吗? 好吧,这可能是他们正在使用的不同的配置文件。 因为应用程序也需要安装在客户端。 但是如何将语音从蓝牙麦克风传输到Android设备呢? 请帮忙。

如何将Okhttp的响应转换为输入流

码: public static String getRequestNoPayload(String urlString, String loginApi, String mUsername) throws Exception { Response response; try{ client.setConnectTimeout(20, TimeUnit.SECONDS); // connect timeout client.setReadTimeout(20, TimeUnit.SECONDS); // socket timeout Request request = new Request.Builder() .url(urlString) .addHeader(“username”,loginApi) .addHeader(“password”,mUsername) .build(); response = client.newCall(request).execute(); }catch(Exception e){ throw e; } return response.body().string(); } 我想做什么:我试图将response.body()转换为输入inputstream 。 如何实现这一目标

Android Media Player:从文件下载到文件和流

我正在使用Android的MediaPlayer播放使用DownloadManager从互联网同时下载的MP3文件。 我知道MediaPlayer直接流的function,但我不想使用它: 通过下载和同时从文件流式传输获得的明显优势是,通过这种方式,文件可以存储并在之后可在本地使用。 这原则上起作用 – 即使没有完全下载, MediaPlayer也会开始播放该文件。 (顺便说一下,我的问题不在于我无法让MediaPlayer播放。) 问题是当MediaPlayer到达开始播放时的下载状态时,它会停止并调用onCompletion 。 (澄清:我们假设当我开始玩时,文件下载了12%。当玩家以12%的比例到达该位置时,它会停止。) 快速注释:当通过DownloadManager将某些内容附加到MP3文件时,不会调用OnBufferingUpdateListener.onBufferingUpdate(…) 。 所以问题是: 如何将音频文件同时下载到文件系统并播放? (Android 4+就足够了,如果这有所不同。)

通过TCP套接字将音频写入服务器

我正在尝试通过TCP套接字和服务器将实时麦克风录制传输到服务器,以将输入流写入文件。 建立连接但是在一段时间后,我在客户端遇到连接拒绝错误。 服务器代码: public class auServer extends Thread{ private static ServerSocket serverSocket; private static int port = 3333; public void run() { System.out.println(“init success”); while(true) { try { serverSocket = new ServerSocket(port); serverSocket.setSoTimeout(10000); Socket clientSoc = serverSocket.accept(); System.out.println(“Waiting for client on port ” +serverSocket.getLocalPort() + “…”); System.out.println(“Just connected to ” + clientSoc.getRemoteSocketAddress()); InputStream in = […]