Получение снимка всегда дает одно и то же значение - PullRequest
0 голосов
/ 16 февраля 2010

У меня есть этот кусок кода:

byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");

, который получает снимок с камеры. Теперь, после небольшой обработки, он выдает правильное изображение. Странная часть в том, что когда я отлаживаю эту строку кода, она всегда имеет одно и то же значение в поле, даже если получающееся изображение отличается. Есть идеи почему?

С уважением, отделка

Ответы [ 4 ]

1 голос
/ 19 февраля 2010

Возможно, нужна некоторая ясность ... что означает «то же значение» в каком «поле»?

Похоже, вы берете этот байтовый массив и превращаете его в изображение.Затем, когда вы снова вызываете getSnapshot, вы получаете тот же байтовый массив, но другое изображение?

Возможно, попробуйте getSnapshot (null).

Что-то вроде:

        byte[] data = null;

        try {
            data = video.getSnapshot(null);
        } catch (MediaException ex) {
            ex.printStackTrace();
        }

        if(data != null)
        {
            img = Image.createImage(data, 0, data.length);
        }

Каквы отлаживаете?Эмулятор?На устройстве?Какое устройство?

Приведенный выше код работает для меня на K800i.

1 голос
/ 16 февраля 2010

Убедитесь, что данные, которые вы просматриваете, находятся внутри массива, а не адрес памяти массива (который не нужно обязательно менять).

Надеюсь, это поможет,

Удачи

0 голосов
/ 19 февраля 2010

После долгих поисков я обнаружил, что был неправ, и я прошу прощения за неправильный вопрос. Тем не менее, при кодировке = jpeg эти массивы действительно различаются лишь в небольшой части, но при других кодировках они сильно отличаются. Опять же, извините за этот вопрос, когда я сначала не проверил его трудным путем.

0 голосов
/ 19 февраля 2010

Вы уверены, что getSnapshot () возвращает VideoControl? Дважды проверьте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...