草庐IT

缓冲区

全部标签

java - Android 媒体播放器无限缓冲

我正在Android上开发在线流媒体播放器。我发现媒体播放器永远不会停止缓冲!它读取100%的缓冲区并继续做“某事”,因为流只能读取一次并且没有任何东西可以缓冲......我看到了publicvoidonBufferingUpdate(MediaPlayerplayer,intpercent)以percent=100无休止地调用。它会在一晚上耗尽电池电量。我做错了什么还是对此有一些合理的解释?看来缓冲是不能取消的,唯一的办法就是重置mediaplayer本身。我需要一些方法来停止这种无休止的“缓冲”!这是我初始化媒体播放器的方式mMediaPlayer.setAudioStreamTy

android - 缓冲 Surface 输入到 MediaCodec

已经演示了如何feedMediaCodecwithSurfaceinput像CameraPreview,但在提交到MediaCodec之前是否有缓冲此输入的实用方法?在我的experiments,GalaxyNexus在使用CameraToMpegTest.java中的直接同步编码方法生成音频/视频流时遇到NotAcceptable问题。当使用MediaCodec和byte[]或ByteBuffer输入时,我们可以将未编码的数据提交给ExecutorService或类似的处理队列,以确保没有帧丢失,即使设备遇到超出我们应用程序控制的CPU使用率峰值。但是,由于需要执行colorform

android - 如何加载 RGB565 缓冲区到 ImageView

我有文件“Image_RGB565.raw”,其中包含RGB565格式的图像缓冲区。我希望这张图片显示在ImageView中。是否可以不用额外的代码转换为RGB888?我试过了BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inPreferredConfig=Bitmap.Config.RGB_565;Bitmapbitmap=BitmapFactory.decodeFile("Image_001_RGB565.raw");但位图为空。然后我也尝试使用bytearray加载BitmapFactory.Optionsopt=

java - 让 OpenGL-ES 模板缓冲区工作

使用Android版opengl-es中的模板缓冲区,我只是想屏蔽掉屏幕的绘图部分。我想我已经设置好了,但它并没有掩盖非模板部分。下面是我正在做的代码的提取。gl.glEnable(GL10.GL_STENCIL_TEST);gl.glClearStencil(0);gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);gl.glColorMask(false,false,false,false);gl.glDepthMask(false);gl.glStencilFunc(GL10.GL_ALWAYS,1,1);gl.glStencilOp(GL10.GL_R

android - 如何同时将来自麦克风阵列上每个麦克风的音频记录到 Android 中的单独缓冲区中?

许多平板电脑和一些智能手机使用一组麦克风来实现降噪等功能。例如摩托罗拉DroidX使用三个麦克风阵列,甚至允许您设置“音频场景”。一个exampleisdiscussedhere.我希望能够同时从平板电脑/手机上可用的所有麦克风进行录音。我发现使用AudioSource我们可以选择麦克风(我不知Prop体是哪个麦克风,但它可能是面向用户的那个)或与摄像机方向相同的麦克风,但无论如何都找不到访问权限麦克风阵列中的所有其他麦克风。任何帮助我指明正确方向进行调查的帮助都会很棒。提前感谢您的宝贵时间。 最佳答案 您似乎已经确认没有用于访问阵

android - 在 Android 上使用像素缓冲对象 (PBO)

在Android上,我尝试对相机帧执行一些OpenGL处理,在相机预览中显示这些帧,然后在视频文件中对这些帧进行编码。我正在尝试使用OpenGL,使用GLSurfaceView和GLSurfaceView.Renderer以及使用FFMPEG进行视频编码。我已经使用着色器成功处理了图像帧。现在我需要将处理后的帧编码为视频。GLSurfaceView.Renderer提供了onDrawFrame(GL10..)方法。正是在这种方法中,我试图仅使用glReadPixels()读取图像帧,然后将帧放在队列中以编码为视频。glReadPixels()本身就太慢了——我的帧率只有个位数。我正在尝

Android三重缓冲-预期行为?

我正在研究应用程序的性能,因为我注意到它在滚动时会掉落一些帧。我运行了systrace(在运行4.3的Nexus4上),并在输出中注意到了interestingsection。起初一切都很好。Zoominginontheleftsection,我们可以看到绘图在每个vsync上开始,以剩余的时间结束,并等到下一个vsync为止。由于它是三重缓冲的,因此应将其绘制到一个缓冲区中,然后在完成后将其发布到以下vsync上。在放大的屏幕快照中的第4个vsync上,该应用程序执行了一些工作,并且下一个vsync的绘制操作无法及时完成。但是,我们不会丢弃任何帧,因为先前的抽奖正在前面进行。但是,在

Android:如何在 root 设备上获取帧缓冲区(屏幕截图)?

我试过了:process=Runtime.getRuntime().exec("su-ccat/dev/graphics/fb0>/sdcard/frame.raw");process.waitFor();但它不起作用。我的设备已获得root权限。我看到很多答案说它需要root访问权限,但没有实际代码来获取帧缓冲区。我也试过glReadPixels()但没有成功。publicvoidTakeScreen(){DisplayMetricsdm=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm)

Android MediaCodec 不解码所有输入缓冲区

在Android4.4.2中,我使用MediaCodec解码mp3文件。我正在使用queueInputBuffer()对输入的mp3编码帧进行排队,并使用dequeueOutputBuffer()获取解码帧。但是解码器从第8帧开始提供解码输出(基于bufferInfo.presentationTimeUs)并跳过最初的7帧。这种情况只发生在少数流中,而不是所有流中。此外,这种行为在多次运行中都是一致的。我想要所有帧的解码输出,我不想跳过任何帧。谁能帮我理解为什么跳过帧?我保证流没有损坏。因为我得到INFO_TRY_AGAIN直到第7帧,当`dequeueOutputBuffer'返回有

【Java】I/O流—缓冲流的基础入门和文件拷贝的实战应用

🌺个人主页:Dawn黎明开始🎀系列专栏:Java⭐每日一句:你能坚持到什么程度,决定你能达到什么高度📢欢迎大家关注🔍点赞👍收藏⭐️留言📝文章目录一.🔐字节缓冲流📋前言1.1🔓字节缓冲流1.1.1🔑构造方法1.1.2🔑成员方法1.1.3🔑实例练习1.2🔓字符缓冲流1.2.1🔑构造方法1.2.2🔑成员方法1.2.3🔑实例练习二.🔐文件拷贝2.1🔓字节流文件拷贝2.1.1🔑基本字节流拷贝2.1.2🔑缓冲字节流拷贝2.2🔓字符流文件拷贝2.2.1🔑基本字符流拷贝2.2.2🔑缓冲字符流拷贝三、🔐I/O流与集合综合实例3.1🔓把ArrayList集合中的字符串数据存储到文本文件3.1.1🔑分析3.1.2🔑