可能重复:
Android:获取资源中文件的大小?
我想将文件上传到WebServer.要显示上传的进度,我需要知道文件的完整大小.因为我只有文件的Uri(从Intent获得),所以我没有机会获得文件的大小.我的解决方法是打开一个InputStream并计算在此InputStream上读取的字节数.但这很迂回.是否有更简单/传统的方法来解决这个问题?
谢谢
是否有可能为ng-click写一个拦截器?我有一个按钮或链接,导致删除后端中的对象.我想通过向按钮/链接添加属性来确认对话框(模态).例如:
<a href="#" ng-click="deleteIt(id)" confirmation-needed>Delete</a>
Run Code Online (Sandbox Code Playgroud)
这是否可以使用AngularJS?有没有更好的方法来解决这个问题?
编辑 deleteIt方法驻留在不同的控制器中.
谢谢
我已经实现了一个 C++ 异常,并在错误时抛出此异常而不捕获它。在 Linux 中,我确实在控制台上看到了异常文本(“什么”)并且应用程序存在。这是我的预期行为。
然而,在 Windows 上(使用 Visual C++ 2015 编译),会打开一个弹出窗口并指出一般错误。我在控制台或其他地方没有看到异常消息。是否也可以将抛出/未捕获的异常记录到 Windows 上的控制台/stdout(或 stderr)?
谢谢
我正在使用Play Framework 2.0,Javascript和WebSockets.在示例中,我有一个AKKA演员,他知道所有的websockets.单个WebSockets.In有一个ListenerCallback对象,用于处理来自客户端的传入请求.在客户端,我有Javascript/jquery将以JSON序列化的公式数据发送到websocket.这对于简单输入非常有效.但现在我想对文件做同样的事情.所以我必须以某种方式将文件数据转换为JSON数据(例如base64).有人知道如何正确地做到这一点吗?我想在Javascript中"收集"该文件,然后通过JSON将其发送到websocket.我知道base64效率不高,如果有人有其他选择,请告诉我.
谢谢
我想在 Android VideoView 中播放 RTP 流。我在 Linux 机器上使用 gstreamer 创建流并将 rtp 流发送到 udp 接收器。
是否可以在没有 RTSP 服务器的情况下在 Android VideoView 中使用此流?
我尝试将视频 URI 设置为“rtp://:@”,但随后出现错误“无法播放视频”。我还考虑过创建一个 SDP 文件并在 Android 设备上使用它。但我不确定这是否有效以及如何创建这样的文件。
谢谢
我正在手动读取 RTP/H264 流并将 H264 帧传递给 Android MediaCodec。我使用“markerBit”作为框架的边框。MediaCodec 与 OpenGL 纹理 (SurfaceTexture) 绑定。一般来说,一切正常。但解码器似乎缓冲帧。如果我将帧放入解码器中,它不会立即渲染到纹理。当我在解码器中添加 2-3 帧后,第一帧将渲染到纹理。
我正在针对 Android 4.4.4 实施。
private static final int INFINITE_TIMEOUT = -1;
private static final int TIMEOUT_OUTPUT_BUFFER_MEDIA_CODEC = 1000;
...
int bufferIndex = codec.dequeueInputBuffer(INFINITE_TIMEOUT);
if (bufferIndex < 0) {
throw new RuntimeException("Error");
}
ByteBuffer inputBuffer = inputBuffers[bufferIndex];
inputBuffer.clear();
// Copy H264 data to inputBuffer
h264Frame.fill(inputBuffer);
codec.queueInputBuffer(bufferIndex, 0, inputBuffer.position(), 0, 0);
drainOutputBuffers();
...
Run Code Online (Sandbox Code Playgroud)
和
private boolean drainOutputBuffers() {
MediaCodec.BufferInfo buffInfo = new MediaCodec.BufferInfo();
int outputBufferIndex = codec.dequeueOutputBuffer(buffInfo, TIMEOUT_OUTPUT_BUFFER_MEDIA_CODEC); …Run Code Online (Sandbox Code Playgroud) 我想使用 Gstreamer 1.0 (gst-launch-1.0) 设置 RTSP 服务器流。
我的“服务器”目前看起来像这样
gst-launch-1.0.exe videotestsrc ! x264enc ! rtph264pay ! udpsink host=localhost port=5000
Run Code Online (Sandbox Code Playgroud)
我的客户看起来像这样
gst-launch-1.0.exe udpsrc port=5000 ! rtpmp2tdepay ! decodebin ! autovideosink
Run Code Online (Sandbox Code Playgroud)
两个命令都运行没有错误,但我在“客户端”上看不到任何视频。此外,我知道我的命令只是通过 RTP 将 H.264 编码视频流式传输到 UDP 端口。
我看到一些数据来自 UDP 端口 5000,因此我认为发送方部分是正确的。
我的问题:
编辑(2014-03-24):发送端的调试输出:
gst-launch-1.0.exe -v videotestsrc ! x264enc ! rtph264pay ! udpsink host=localhost port=5000
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, framerate=(fraction)30/1, width=(int)320, height=(int)240, format=(string)I420, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: …Run Code Online (Sandbox Code Playgroud) 是否可以一次使用Dagger 2.0构造函数注入和单例.我在文档中找不到答案.
例:
@Singleton
public class MyClass {
private final OtherClass member;
@Inject
public MyClass(OtherClass member){
this.member = member;
}
}
Run Code Online (Sandbox Code Playgroud)
构造函数注入确实有效.但是,如果我在课堂上编写@Singleton,是否可以保证MyClass是作为单身人士创建的?
谢谢
有没有办法通过 ADB 从 Android(非 root)设备获取配置的 WiFi-SSIDS?这应该独立于 WiFi 开/关状态工作。
谢谢
我正在使用 Android NDK(与 CMake 和 gradle 集成)。目前,C++ 发布标志是根据 Android 构建类型(发布/调试)自动设置的。我想始终使用发布标志编译/链接本机代码。如何才能做到这一点?
谢谢