Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать объект com.sun.lwuit.Image по блютус, Ошибка при приеме Image по блютус 
:(
    Опции темы
maximfg
Дата 13.4.2012, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.4.2012

Репутация: нет
Всего: нет



получаю снимок с камеры

Код

player = Manager.createPlayer ("capture://devcam1");//devcam1

player.realize();
videoControl=(VideoControl)player.getControl("VideoControl");

videoControl.initDisplayMode(videoControl.USE_GUI_PRIMITIVE, null);
player.start();
Vector imag=new Vector();
while(true)
{
    int y=0;
    y++;
    System.out.println(y);
byte[] b=videoControl.getSnapshot("encoding=png");

midlet.getMainScreen().addComponent(new Label(""+t.length));
 midlet.getMainScreen().refreshTheme();
im = Image.createImage (b, 0, b.length);



Получаю сервис и dataoutputstream для отправки фото:

Код

public void serviceSearchCompleted (int transID, int respCode) {
midlet.getVideoForm().addComponent(new Label(""+servicesFound.size()));
midlet.getVideoForm().refreshTheme();
             String  connectionURL = ((ServiceRecord)servicesFound.elementAt(servicesFound.size()-1)).getConnectionURL(0, false);
                  try {
                                           /////////////////////////////////////////
                        StreamConnection connection = (StreamConnection) Connector.open(connectionURL);
                      //outStream = connection.openOutputStream();
                                         
                          //pWriter = new OutputStreamWriter(outStream);
                       /*pWriter.write("Response String from client\r\n");
                        pWriter.flush();
                        pWriter.close();*/
                      ///////////////////////////////////////////////////////  
                        dos = connection.openDataOutputStream();
dos.write(b);
 dos.close();
                  } catch (Exception e) {
                      midlet.getVideoForm().addComponent(new Label(e.getMessage()));
midlet.getVideoForm().refreshTheme();  
 
                  }    


и на другом телефоне принимаю фото:

Код

byte[] b=new byte[60*1024];
  Image line=null;
            //read string from spp client
            try {
                
                  DataInputStream in = (DataInputStream) connection.openDataInputStream();
                  in.read(b);
                  
                  in.close();
                
                 streamConnNotifier.close();
            }catch(IOException f)
            {midlet.getVideoForm().addComponent(new TextArea(f.getMessage()));
midlet.getVideoForm().refreshTheme();}
            line=Image.createImage(b, 0, b.length);


выскакивает ошибка java.lang ellegalargumentexception:bad image format
PM MAIL   Вверх
oxigen
Дата 13.4.2012, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Код

DataInputStream in = (DataInputStream) connection.openDataInputStream();
in.read(b);
in.close();


in.read() прочитал какой-то кусок данных, абсолютно не факт, что все. А вы сразу же поток закрыли, не прочитав остальное.
Проверьте, сколько он там на самом деле прочитал.
int i = in.read(b);


PM MAIL   Вверх
maximfg
Дата 13.4.2012, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.4.2012

Репутация: нет
Всего: нет



 да , вы правы передается только 512 байт!
Что делать?

Это сообщение отредактировал(а) maximfg - 13.4.2012, 22:07
PM MAIL   Вверх
oxigen
Дата 17.4.2012, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Читать кусочки в цикле, пока все не вычитается.
Примеры в доке есть http://docs.oracle.com/javame/config/cldc/...r118/index.html

Дело не в том, что передается только 512 байт. Передается то как раз все. Но не мгновенно. И нужно читать данные по мере их прихода. Пока все не вычитаете.

Это сообщение отредактировал(а) oxigen - 17.4.2012, 10:35
PM MAIL   Вверх
maximfg
Дата 17.4.2012, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.4.2012

Репутация: нет
Всего: нет



Спасибо за помощь. Я уже решил эту проблему.
Тема закрыта.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0754 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.