私はJ2MEでモバイルアプリケーションを開発しています。今私はそれをJ2MEポーランド語に変換しています。私のアプリケーションでは、携帯電話でカメラを使って画像をキャプチャします。それはJ2MEで正常に動作します。しかし、J2MEポーランドではうまく動作しません。私はそれを解決することはできません。J2MEポーランド語でカメラを使用して画像をキャプチャできませんか?
上記のコードが正常に動作する通常J2MEで
import javax.microedition.lcdui.Canvas;
import javax.microedition.media.control.VideoControl;
//...
public class VideoCanvas extends Canvas {
// private VideoMIDlet midlet;
// Form frm
Form frm=null;
public VideoCanvas(VideoControl videoControl) {
int width = getWidth();
int height = getHeight();
// this.midlet = midlet;
//videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
//Canvas canvas = StyleSheet.currentScreen;
//canvas = MasterCanvas.instance;
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this);
try {
videoControl.setDisplayLocation(2, 2);
videoControl.setDisplaySize(width - 4, height - 4);
} catch (MediaException me) {}
videoControl.setVisible(true);
}
public VideoCanvas(VideoControl videoControl,Form ff) {
frm=ff;
int width = getWidth();
int height = getHeight();
// this.midlet = midlet;
Ticker ticker=new Ticker("B4 video controll init");
frm.setTicker(ticker);
//Canvas canvas = StyleSheet.currentScreen;
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this);
ticker=new Ticker("after video controll init");
frm.setTicker(ticker);
try {
videoControl.setDisplayLocation(2, 2);
videoControl.setDisplaySize(width - 4, height - 4);
} catch (MediaException me) {}
videoControl.setVisible(true);
ticker=new Ticker("Device not supported");
frm.setTicker(ticker);
}
public void paint(Graphics g) {
int width = getWidth();
int height = getHeight();
g.setColor(0x00ff00);
g.drawRect(0, 0, width - 1, height - 1);
g.drawRect(1, 1, width - 3, height - 3);
}
}
下記のコードスニペットを。しかし、j2me磨きでvideoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this)
ここにこのはVideoCanvas (which extends from javax.microedition.lcdui.Canvas)
を指します。しかし、それは "IllegalArgumentException
- コンテナはキャンバスにする必要があります"というようにスローされます。どのように問題を解決するには?
_VideoCanvas.java_で使用されているimportステートメントを指定しないと、extends節で使用される 'Canvas'が' javax.microedition.lcdui.Canvas'を参照するのか、別のパッケージの何らかのクラス同じ名前を持っています – gnat
こんにちは。コードスニペットの私の部分だけを投稿します。私はすでに以下の "javax.microedition.lcdui.Canvas、javax.microedition.media.control.VideoControl"をインポートします。しかし私は私の投稿に追加するのを忘れました。だから私の間違いを許してください。すべての貴重なアイデアを与えることを歓迎しています。 –
@ SIVAKUMAR.J J2MEのポリッシュを使用して画像をキャプチャするためにカメラを開く必要がありますどのように進む方法を私に提案することができます。 –