motofan logo
> 

JSR 135 (по данным MotoDev), видео плееры на мото?

Zorge.R
сообщение 7.11.2007, 23:54


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800
Модель телефона: Note 9 Copper 512Gb
Прошивка: 1CR

Рейтинг: 2510



по данным MOTODEV

L9 (и многие другие модели) поддерживает:

APIs: Java ME
JSR 75 (Fileconnection API)
JSR 75 (PIM)
JSR 82 (Bluetooth)
JSR 118 (MIDP 2.0)
JSR 120 (WMA 1.1)
JSR 135 - Audio Capture
JSR 135 - Audio Playback
JSR 135 - Still Image Capture <<<
JSR 135 - Video Capture <<<
JSR 135 - Video Playback <<<
JSR 139 (CLDC 1.1)
JSR 177 (Security and Trust Services)
JSR 185 (Java Technology for the Wireless industry)
JSR 205 (Wireless Messaging API)


интерестно, Video Capture, Video Playback, Still Image Capture упомянуты только из-за поддержки JSR 135 (частично), или телефон действительно полностью поддерживает JSR 135 включая эти три пункта?


у кого из програмеров есть в наличии Motorola Java ME SDK v6.4 for Motorola OS Products ,MOTODEV Studio for Java ME?
или другой софт для написания приложений, напишите (Please) небольшую "тест" прогу на проверку поддержки JSR 135.

P.S.: к примеру запустил яву, а она поочередно, пытается "инициализировать"
JSR 135 - Audio Capture
JSR 135 - Audio Playback
JSR 135 - Still Image Capture
JSR 135 - Video Capture
JSR 135 - Video Playback

P.S.2: вижу три варианта:
1) это "пузырь" от моторолы
2) телефоны действительно поддерживают видео в яве
3) я чего то не так понял. (кто пишет на Java , растолкуйте)

Добавлено позже (8.11.2007, 3:04):
нашел The Java ME Mobile Media API (JSR-135) [PDF, 107KB] ...

регистрируюсь.... будем читать...

Добавлено позже (8.11.2007, 3:19):
в The Java ME Mobile Media API (JSR-135) есть "исходник" простенького мультимедиа приложения (юзает JSR 135).

как его использовать? его кажись только скомпелить осталось. у кого есть компилятор? компилим и в аттач

Добавлено позже (8.11.2007, 3:25):
вот "исходник" из PDF'a

Код

Code :


CameraMIDlet.java
/**
* CameraMIDlet.java
*
* Aug. 15, 2005
*
* (c) Copyright. 2005. Motorola , Inc. ALL RIGHTS RESERVED.
*
* Version 1.0
*/
package moto;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class CameraMIDlet extends MIDlet{
CameraCanvas cameraCanvas=null;
DisplayCanvas displayCanvas=null;
Display display = Display.getDisplay(this);
public CameraMIDlet() {
}
protected void startApp() {
Displayable current = Display.getDisplay(this).getCurrent();
if(current==null){
cameraCanvas = new CameraCanvas(this);
displayCanvas= new DisplayCanvas(this);
Display.getDisplay(this).setCurrent(cameraCanvas);
cameraCanvas.start();
}else{
if(current==cameraCanvas){
cameraCanvas.start();
}
Display.getDisplay(this).setCurrent(current);
}
}
protected void pauseApp() {
if(Display.getDisplay(this).getCurrent()==cameraCanvas){
cameraCanvas.stop();
}
}
protected void destroyApp(boolean boolean0) {
if(Display.getDisplay(this).getCurrent()==cameraCanvas){
cameraCanvas.stop();
}
}
private void exitRequested(){
destroyApp(false);
notifyDestroyed();
}
void cameraCanvasExit(){
exitRequested();
}
void cameraCanvasCaptured(byte[] pngData){
cameraCanvas.stop();
displayCanvas.setImage(pngData);
Display.getDisplay(this).setCurrent(displayCanvas);
}
void displayCanvasBack(){
Display.getDisplay(this).setCurrent(cameraCanvas);
cameraCanvas.start();
}
}
CameraCanvas.java
/**
* CameraCanvas.java
*
* Aug. 15, 2005
*
* (c) Copyright. 2005. Motorola , Inc. ALL RIGHTS RESERVED.
*
* Version 1.0
*/
package moto;
import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.control.VideoControl;
import moto.CameraMIDlet;
public class CameraCanvas
extends Canvas
implements CommandListener {
private final CameraMIDlet midlet;
private final Command exitCommand;
private Command captureCommand = null;
private Command FullCommand = null;
private Command ExitFullCommand = null;
private Player player = null;
private VideoControl videoControl = null;
private boolean active = false;
private String message1 = null;
private String message2 = null;
CameraCanvas(CameraMIDlet midlet) {
this.midlet = midlet;
exitCommand = new Command("Exit", Command.EXIT, 1);
FullCommand = new Command("Full",Command.OK,1);
ExitFullCommand = new Command("ExFull",Command.OK,1);
addCommand(exitCommand);
setCommandListener(this);
try {
player = Manager.createPlayer("capture://video");
player.realize();
videoControl = (VideoControl) (player.getControl("VideoControl"));
if (videoControl == null) {
discardPlayer();
message1 = "Unsupported:";
message2 = "Can'tgetvideocontrol";
}
else {
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
int canvasWidth = getWidth();
int canvasHeight = getHeight();
int displayWidth = videoControl.getDisplayWidth();
int displayHeight = videoControl.getDisplayHeight();
int x = (canvasWidth - displayWidth) / 2;
int y = (canvasHeight - displayHeight) / 2;
videoControl.setDisplayLocation(x, y);
captureCommand = new Command("Capture", Command.SCREEN, 1);
addCommand(captureCommand);
addCommand(FullCommand);
addCommand(ExitFullCommand);
}
}
catch (IOException ioe) {
discardPlayer();
message1 = "IOException:";
message2 = ioe.getMessage();
}
catch (MediaException me) {
discardPlayer();
message1 = "MediaException:";
message2 = me.getMessage();
}
catch (SecurityException se) {
discardPlayer();
message1 = "SecurityException";
message2 = se.getMessage();
}
}
protected void paint(Graphics g) {
g.setColor(0x00FFFF00);
g.fillRect(0,0,getWidth(),getHeight());
if(message1!=null){
g.setColor(0x00000000);
g.drawString(message1,1,1,Graphics.TOP|Graphics.LEFT);
g.drawString(message2,1,1+g.getFont().getHeight(),Graphics.TOP|Graphics.LEFT);
}
}
synchronized void start(){
if((player!=null)&&!active){
try{
player.start();
videoControl.setVisible(true);
}catch(MediaException me){
message1="Mediaexception:";
message2=me.getMessage();
}catch(SecurityException se){
message1="SecurityException";
message2=se.getMessage();
}
active=true;
}
}
synchronized void stop(){
if((player!=null)&&active){
try{
videoControl.setVisible(false);
player.stop();
}catch(MediaException me){
message1="MediaException:";
message2=me.getMessage();
}
active=false;
}
}
private void discardPlayer() {
if(player!=null){
player.close();
player=null;
}
videoControl=null;
}
public void commandAction(Command c, Displayable d) {
if(c==exitCommand){
midlet.cameraCanvasExit();
}else {
if(c==captureCommand){
takeSnapshot();
}
}
if(c==FullCommand){
try {
videoControl.setDisplayFullScreen(true);
}
catch (MediaException ex) {
ex.toString();
}
}
if(c==ExitFullCommand){
try {
videoControl.setDisplayFullScreen(false);
}
catch (MediaException ex1) {
ex1.toString();
}
}
}
public void keyPressed(int keyCode){
if(getGameAction(keyCode)==FIRE){
takeSnapshot();
}
}
private void takeSnapshot() {
if(player!=null){
try{
byte[] pngImage=videoControl.getSnapshot(null);
midlet.cameraCanvasCaptured(pngImage);
}catch(MediaException me){
message1="MediaException:";
message2=me.getMessage();
}
}
}
}
DisplayCanvas.java
/**
* DisplayCanvas.java
*
* Aug. 15, 2005
*
* (c) Copyright. 2005. Motorola , Inc. ALL RIGHTS RESERVED.
*
* Version 1.0
*/
package moto;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextBox;
public class DisplayCanvas extends Canvas implements CommandListener{
private final CameraMIDlet midlet;
private Image image=null;
private byte[] pngByte;
private SocketConnection mySC;
TextBox t;
public DisplayCanvas(CameraMIDlet midlet) {
this.midlet=midlet;
addCommand(new Command("Back",Command.BACK,1));
setCommandListener(this);
}
public void paint(Graphics g){
g.setColor(0x0000FFFF);
g.fillRect(0,0,getWidth(),getHeight());
if(image!=null){
g.drawImage(image,getWidth()/2,getHeight()/2,Graphics.VCENTER|Graphics.HCENTER);
}
}
void setImage(byte[] pngImage){
this.pngByte = pngImage;
image=Image.createImage(pngImage,0,pngImage.length);
}
public void commandAction(Command c, Displayable d) {
if(c.getLabel().equals("Back")){
midlet.


Сообщение отредактировал Zorge.R - 8.11.2007, 0:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Zorge.R   JSR 135 (по данным MotoDev)   7.11.2007, 23:54
blackbox   Zorge.R, среди моторов still image capture поддерж...   8.11.2007, 0:38
Zorge.R   :( жаль... какое тестовое приложение? код кото...   8.11.2007, 0:48
Chacha_Ivanov   Вот скомпилил прогу для проверки. Пусть каждый убе...   9.11.2007, 6:01
grafmoto   DG_ROKR_E1.pdf (J2ME™ Developer Guide), страница 3...   12.11.2007, 5:53
FarBell   Я этим вопросом тоже занимался, делал тестовое при...   13.11.2007, 18:58
Zorge.R   просьба тему пока не закрывать. написал письмо мо...   13.11.2007, 22:31
Chacha_Ivanov   Вот кстати для общего развития мотофанов Device AP...   14.11.2007, 14:20
FarBell   Да там есть интересный класс Motorola 3D (не обычн...   14.11.2007, 16:40
Dimka   На Е2 запускается, выводит на экран нормальную ка...   19.11.2007, 14:19
Chacha_Ivanov   С выбором не могу, так как ток недавно начал осва...   19.11.2007, 17:03
Dimka   по идее так /phone/system/mmc/mmca1/ или сделай ...   19.11.2007, 17:19
Nur87   Chacha_Ivanov, тестовая версия работает на в3х. я...   19.11.2007, 17:31
Chacha_Ivanov   Вот.   20.11.2007, 14:02
Dimka   Спасибо. Оба варианта нормально работают, сохраня...   20.11.2007, 15:57
Chacha_Ivanov   В методе getSnapshot() предусмотрены параметры фо...   20.11.2007, 16:25
grafmoto   Chacha_Ivanov, getSnapshot public byte[] getSnap...   20.11.2007, 17:08
Chacha_Ivanov   Вот эта версия по идее должна будет делать фотки 4...   20.11.2007, 17:35
Dimka   Да, нормально фоткает. Но качество получается абс...   20.11.2007, 18:53
grafmoto   поддерживаемые форматы getSnapshot можно определит...   21.11.2007, 14:21
Dimka   Е2 не поддерживает JSR-234, твоя эта прога даже н...   21.11.2007, 20:50
grafmoto   тогда буим ждать респонса от Motorol'ы :) наде...   22.11.2007, 9:54
Chacha_Ivanov   А причем здесь поддерживаемые форматы? Все моторо...   24.11.2007, 9:17
grafmoto   весь вопрос в том поддерживает ли вообще jvm наст...   25.11.2007, 10:35
Chacha_Ivanov   Вот для этого как раз надо ответить на вопрос   25.11.2007, 14:47
grafmoto   Chacha_Ivanov, если jvm не поддерживает настройку...   26.11.2007, 5:20
Zorge.R   совсем забыл, вот ответ MOTODEV на моё письмо (на ...   11.2.2008, 20:15
grafmoto   :)   12.2.2008, 5:11
Zorge.R   [color=#FF0000]офТОП [b]grafmoto, :) не Ты случ...   12.2.2008, 13:57

JSR 135 (по данным MotoDev), видео плееры на мото? · Разработка Java-приложений · Forum
 

Причина закрытия (grafmoto 13-02-2008): на том и порешили
Закрытая темаСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 4.8.2025, 4:40

Форум живёт: