当前位置: 首页 > 知识库问答 >
问题:

Android和带有java.lang.IllegalArgumentException的MJPEG

阎淮晨
2023-03-14

我已经实现了帖子中的演示:Android和MJPEG

但应用程序总是在一段时间后出现错误,我得到了一个异常:

java.lang.IllegalArgumentException: Invalid Unicode sequence: illegal character

public void run() {
    start = System.currentTimeMillis();
    PorterDuffXfermode mode = new PorterDuffXfermode(PorterDuff.Mode.DST_OVER);
    Bitmap bm;
    int width;
    int height;
    Rect destRect;
    Canvas c = null;
    Paint p = new Paint();
    String fps = "";
    while (mRun)
    {
        if(surfaceDone)
        {
            try
            {
                c = mSurfaceHolder.lockCanvas();
                synchronized (mSurfaceHolder)
                {
                    try
                    {
                        bm = mIn.readMjpegFrame();
                        destRect = destRect(bm.getWidth(),bm.getHeight());
                        c.drawColor(Color.BLACK);
                        c.drawBitmap(bm, null, destRect, p);
                        if(showFps) {
                            p.setXfermode(mode);
                            if(ovl != null) {
                                height = ((ovlPos & 1) == 1) ? destRect.top : destRect.bottom-ovl.getHeight();
                                width  = ((ovlPos & 8) == 8) ? destRect.left : destRect.right -ovl.getWidth();
                                c.drawBitmap(ovl, width, height, null);
                            }
                            p.setXfermode(null);
                            frameCounter++;
                            if((System.currentTimeMillis() - start) >= 1000) {
                                fps = String.valueOf(frameCounter)+"fps";
                                frameCounter = 0; 
                                start = System.currentTimeMillis();
                                ovl = makeFpsOverlay(overlayPaint, fps);
                            }
                        }
                    }
                    catch (IOException e)
                    {
                        Log.i(TAG, "Error: "+e);
                    }
                }
            }
            catch (Exception e)
            {
                Log.i(TAG, "Error: "+e);
            }
            finally
            {
                if (c != null)
                    mSurfaceHolder.unlockCanvasAndPost(c);
            }
        }
    }
}

    09-27 17:06:36.645: D/dalvikvm(10120): threadid=9: still suspended after undo (sc=1 dc=1)
    09-27 17:06:46.745: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 132K, 47% free 2998K/5575K, external 1625K/2137K, paused 44ms
    09-27 17:06:46.825: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 65K, 47% free 2997K/5639K, external 2227K/2779K, paused 27ms
    09-27 17:06:46.955: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 127K, 48% free 2997K/5703K, external 2827K/2827K, paused 40ms
    09-27 17:06:47.385: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 142K, 48% free 3000K/5703K, external 2827K/2827K, paused 31ms
    09-27 17:06:47.515: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 131K, 48% free 2997K/5703K, external 2827K/2827K, paused 27ms
    09-27 17:06:47.615: D/dalvikvm(10120): GC_EXTERNAL_ALLOC freed 127K, 48% free 2997K/5703K, external 2827K/2827K, paused 31ms

共有1个答案

袁霍英
2023-03-14

我知道这是一个有点旧,但我找到了一个解决这个问题的方法,代码工作完美,它是相机,FPS可能设置为“可变”或“自动”。我使用的是TrendNet TV-IP551WI,默认设置是FPS的“自动”,我注意到在5-15秒后,程序会崩溃,我会得到这个错误,我还注意到它很急,导致我相信FPS是不对的。但是在将fps设置为固定速率后(不管什么只要选择一个,我选择了20),错误应该会消失,它不应该再出现了。

 类似资料:
  • 我是个新手..在我看来,它应该能帮助我维持我的依赖关系的秩序。我正在尝试使用m2clipse插件使其工作,并使其与Android一起工作。(我使用了以下站点:http://looksok.wordpress.com/2012/05/12/use-maven-with-android-project/) 我已将现有项目更新为maven项目。并为actionbarsherlock项目添加了依赖项。我的

  • 我正在尝试从远程服务器获取响应。下面是我的代码: 在行中出现以下异常: IllegalStateException:目标主机不能为空,或在参数中设置。scheme=null,host=null,path=http://www.pappico.ru/promo.php?action=registerUser&params={“userid”:1,“username”:“ithsoftsuve+...

  • 我正在按照书中的一个示例的步骤进行操作,在使用模拟器进行调试时,我遇到了几个错误: null 相关的Java文件是(tasklistfragment.java): null null 和我的XML布局(activity_task_list.XML): null null 错误中提到的第15行在xml in 我是Android的初学者,我不知道如何修复它。 谁能告诉我怎么了? 谢谢 还有另一个类(T

  • 问题内容: 好吧,这种特定的布局让我很烦。而且似乎找不到找到listView的方法,在底部有一行按钮,这样listview不会延伸到按钮的上方,因此这些按钮始终固定在屏幕的底部。这就是我想要的: 删除了死的ImageShack链接 似乎应该这么简单,但是我尝试过的所有方法都失败了。有什么帮助吗? 这是我当前的代码: 问题答案: 我认为这就是您想要的。

  • 问题内容: 我正在开发一个选项卡式应用程序,其中片段之一CollectionsFragment包含一个GridView,每个插槽中都有一个ImageView。我希望当用户点击其中一张图片时使用选择器向用户提供反馈。 我已经成功实现了选择器,但是我的问题是选择器仅在图像的背景中绘制,但是我希望选择器绘制整个图像。我已经看到过其他地方提到的此问题,但是,许多人选择的解决方案(设置GridView的dr

  • 问题内容: 我目前有一个总是返回的。我已经读到ADT可能有问题,但是我不确定,因此是我的问题。我已经从Android示例下的ActionBar示例中导入了 我已将ActionBarCompat项目标记为“项目”->“属性”下的库,但是仍然出现错误。 重申: 是否还有其他人遇到过类似的错误并可能找到了解决方案? 提前致谢。 问题答案: 最终改为使用ActionBarSherlock,并在“项目属性”