Depois de muito bater cabeça, entendi porque o seguinte código, encontrado em muitos fóruns, não funcionava:
try {
HttpConnection conn = (HttpConnection)Connector.open("http://www.dc.ufscar.br/~luiz_santana/1.wav");
Player player = Manager.createPlayer(conn.openInputStream(),"audio/X-wav");
player.addPlayerListener(this);
player.realize();
player.start();
} catch (Exception e) {
stringItem1.setText(e.getMessage());
e.printStackTrace();
System.out.print(e.getMessage());
}
}
O problema é que o CLDC não suporta qualquer tipo de arquivo WAV. Apenas arquivos do tipo PCM, 8 bits, mono, com a frequencia de 16000 hz. Para transformar seus arquivos use o programa Ease Audio Converter (
http://superdownloads.uol.com.br/download/115/ease-audio-converter/).
Um abraço!
sexta-feira, 11 de maio de 2007
Traduzir Linguagens de Marcação
Não sei se alguem mais precisa disso, mas eu vivo precisando.
Primeiro é necessário baixar os seguintes arquivos:
Xerces - http://xml.apache.org/dist/xerces-j/
JTidy - http://jtidy.sourceforge.net/
public static String html2xhtml(String URL) {
try {
URL HTMLurl = new URL(URL);
InputStream HTMLis = HTMLurl.openStream();
if ( HTMLis != null ) {
Tidy converter = new Tidy();
converter.setTidyMark(false);
converter.setXmlOut(true);
converter.setXmlPi(true);
converter.setXmlPIs(true);
converter.setNumEntities(true);
converter.setDocType("omit");
Document doc = converter.parseDOM(HTMLis, null);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("c:/teste.xhtml"));
XMLSerializer ser = new XMLSerializer(out, new OutputFormat("xml", "UTF-8", true));
ser.serialize(doc.getDocumentElement());
}
return null;
} catch ( Exception e ) {
return e.getMessage();
}
}
public static void main(String[] args) {
try {
html2xhtml("http://www.uol.com.br");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Primeiro é necessário baixar os seguintes arquivos:
Xerces - http://xml.apache.org/dist/xerces-j/
JTidy - http://jtidy.sourceforge.net/
public static String html2xhtml(String URL) {
try {
URL HTMLurl = new URL(URL);
InputStream HTMLis = HTMLurl.openStream();
if ( HTMLis != null ) {
Tidy converter = new Tidy();
converter.setTidyMark(false);
converter.setXmlOut(true);
converter.setXmlPi(true);
converter.setXmlPIs(true);
converter.setNumEntities(true);
converter.setDocType("omit");
Document doc = converter.parseDOM(HTMLis, null);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("c:/teste.xhtml"));
XMLSerializer ser = new XMLSerializer(out, new OutputFormat("xml", "UTF-8", true));
ser.serialize(doc.getDocumentElement());
}
return null;
} catch ( Exception e ) {
return e.getMessage();
}
}
public static void main(String[] args) {
try {
html2xhtml("http://www.uol.com.br");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Marcadores:
JTidy,
Linguagem de Marcação,
Netbeans
Bibliotecas do Hibernate
Algo que eu sempre esqueço, os jars necessários para o Hibernate:
hibernate3.jar
lib/antlr-2.7.6.jar
lib/asm-attrs.jar
lib/asm.jar
lib/c3p0-0.9.0.jar
lib/cglib-2.1.3.jar
lib/commons-collections-2.1.1.jar
lib/commons-logging-1.0.4.jar
lib/concurrent-1.3.2.jar
lib/dom4j-1.6.1.jar
lib/ehcache-1.2.3.jar
lib/log4j-1.2.11.jar
hibernate3.jar
lib/antlr-2.7.6.jar
lib/asm-attrs.jar
lib/asm.jar
lib/c3p0-0.9.0.jar
lib/cglib-2.1.3.jar
lib/commons-collections-2.1.1.jar
lib/commons-logging-1.0.4.jar
lib/concurrent-1.3.2.jar
lib/dom4j-1.6.1.jar
lib/ehcache-1.2.3.jar
lib/log4j-1.2.11.jar
Redimensionar Imagens
A primeira das minhas soluções é o redimensionamento de imagens em Java, depois de muito apanhar consegui descobrir porque as imagens ficavam pretas depois de executar um código que vi em vários foruns. O problema era a forma com que a imagem está sendo criada, troquei um File("url da imagem") por ImageIO.read("url da imagem"). Em seguida está o código da minha solução:
public static String redimensionar(Image image, int width, int height, int quality,String nomeImagem) {
try {
double thumbRatio = (double) width / (double) height;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double) imageWidth / (double) imageHeight;
if (thumbRatio <>
height = (int) (width / imageRatio);
} else {
width = (int) (height * imageRatio);
}
BufferedImage thumbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, width, height, null);
BufferedOutputStream out;
out = new BufferedOutputStream(new FileOutputStream(imagesDir + nomeImagem));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float) quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();
return null;
} catch (Exception e) {
System.out.println(e.getMessage());
return e.getMessage();
}
}
public static void main(String[] args) {
try {
int width = 200; // Lagura da miniatura
int height = 200; // Altuta da miniatura
int quality = 80; // Qualidade da imagem [0~100]
File file = new File("http://www.dc.ufscar.br/imgs/dc.jpg");
URL url = new URL("http://www.dc.ufscar.br/imgs/dc.jpg");
Image image = ImageIO.read(url);
redimensionar(image, width, height, quality, file.getName());
System.out.println("A imagem " + file.getName() + " foi redimensionada com sucesso");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Olá!
Olá,
criei esse blog como forma de armazenar em um único local soluções de programação recorrentes durante meu projeto de mestrado, possibilitando também, compartilhar essas soluções.
criei esse blog como forma de armazenar em um único local soluções de programação recorrentes durante meu projeto de mestrado, possibilitando também, compartilhar essas soluções.
Assinar:
Postagens (Atom)