Sun公司专门开发了一套API。
http://www.java.sun.com/products/java-media/jmf/
http://www.java.sun.com/products/java-media/jmf/
解决方案 »
- 用jxl将数据库中的数据导出到excel,代码都走完了,但是页面没有任何反应,无法下载,代码如下,求高手指点
- 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
- JAVA SE、MyEclipse6.0下载地址,要的抓紧时间下!
- 正则表达式的奇怪问题
- 捆饶了我1个星期的问题。。希望高手来解答。现在夜里4点半。在线等。。。。。。
- 是不是不建议用editplus做J2EE开发,如果可行的话,那如何配置呢
- 刚接触java,帮忙写一段程序!
- 访问*.mdb时出错,如何设置sourceURL和用forName()正确加载驱动
- 请教一个问题。
- 数据库怎么连接?
- 哪里有thinking in java和thinking in c++下载,希望是中国的,外国down de慢
- JDK通过网页,在Linux中创建的文件居然是root的。???
* @(#)TVApplet.java 1.3 01/03/13
*
* Copyright (c) 1997-2001 Sun Microsystems, Inc. All Rights Reserved.
*
* Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
* modify and redistribute this software in source and binary code form,
* provided that i) this copyright notice and license appear on all copies of
* the software; and ii) Licensee does not utilize the software in a manner
* which is disparaging to Sun.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
*/import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.lang.String;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.IOException;
import java.util.Properties;
import javax.media.*;
import com.sun.media.*;/**
* This is a Java Applet that demonstrates how to create a simple
* media player with a media event listener. It will play the
* media clip right away and continuously loop.
*
* <!-- Sample HTML
* <applet code=TVApplet width=587 height=510>
* <param name=file value="sun.avi">
* </applet>
* -->
*/
public class TVApplet extends Applet implements ControllerListener {
// media Player
Player player = null;
// component in which video is playing
Component visualComponent = null;
// controls gain, position, start, stop
Component controlComponent = null;
// displays progress during download
Component progressBar = null;
long CachingSize = 0L;
Panel panel = null;
Panel vPanel = null;
int controlPanelHeight = 0;
Image [] showmeImage = null;
Image [] zoomImageUp = null;
Image [] zoomImageDn = null; CPanel cPanel = null;
ZoomButton zoomButton;
final int [] VLEFT = {59, 120};
final int [] VTOP = {33, 67};
final int [] VRIGHT = {59 + 175, 120 + 351};
final int [] VBOTTOM = {173, 67 + 287 + 11};
final int [] WIDTH = {176, 352};
final int [] HEIGHT = {138, 288}; final int HALF = 0;
final int FULL = 1; int tSize = 0;
/**
* Read the applet file parameter and create the media
* player.
*/
public void init() { setLayout(null);
setBackground(Color.white);
cPanel = new CPanel( );
add(cPanel); // Figure out what size to use
// The applet tag takes an optional parameter "SIZE" whose value
// can be "half" or "full"
// Eg. <param name=size value=half>
String szSize = getParameter("SIZE");
if (Toolkit.getDefaultToolkit().getScreenSize().width > 800)
tSize = 1;
else
tSize = 0;
if (szSize != null) {
if (szSize.toLowerCase().equals("full"))
tSize = 1;
else if (szSize.toLowerCase().equals("half"))
tSize = 0;
} cPanel.setBounds(VLEFT[tSize], VTOP[tSize], WIDTH[tSize], HEIGHT[tSize]); // Get the images
showmeImage = new Image[FULL + 1];
zoomImageUp = new Image[FULL + 1];
zoomImageDn = new Image[FULL + 1];
showmeImage[HALF] = getImage(getDocumentBase(), "ShowMeS2.jpg");
showmeImage[FULL] = getImage(getDocumentBase(), "ShowMeS.jpg");
zoomImageUp[HALF] = getImage(getDocumentBase(), "InUp.gif");
zoomImageDn[HALF] = getImage(getDocumentBase(), "InDn.gif");
zoomImageUp[FULL] = getImage(getDocumentBase(), "OutUp.gif");
zoomImageDn[FULL] = getImage(getDocumentBase(), "OutDn.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(showmeImage[HALF], 0);
mt.addImage(showmeImage[FULL], 1);
mt.addImage(zoomImageUp[HALF], 2);
mt.addImage(zoomImageUp[FULL], 3);
mt.addImage(zoomImageDn[HALF], 4);
mt.addImage(zoomImageDn[FULL], 5);
try {
mt.waitForAll();
} catch (Exception e) {
System.err.println("Could not load ShowMeS.jpg");
showmeImage[HALF] = null;
showmeImage[FULL] = null;
}
addZoomButton();
// input file name from html param
String mediaFile = null;
// URL for our media file
URL url = null;
// URL for doc containing applet
URL codeBase = getDocumentBase(); // Get the media filename info.
// The applet tag should contain the path to the
// source media file, relative to the html page.
if ((mediaFile = getParameter("FILE")) == null)
Fatal("Invalid media file parameter");
try {
// Create an url from the file name and the url to the
// document containing this applet.
if ((url = new URL(codeBase, mediaFile)) == null)
Fatal("Can't build URL for " + mediaFile); // Create an instance of a player for this media
try {
player = Manager.createPlayer(url);
} catch (NoPlayerException e) {
System.out.println(e);
Fatal("Could not create player for " + url);
} // Add ourselves as a listener for a player's events
player.addControllerListener(this); } catch (MalformedURLException e) {
Fatal("Invalid media file URL!");
} catch (IOException e) {
Fatal("IO exception creating player for " + url);
}
} /**
* Start media file playback. This function is called the
* first time that the Applet runs and every
* time the user re-enters the page.
*/ public void start() {
if (player != null)
player.realize();
} /**
* Stop media file playback and release resource before
* leaving the page.
*/
public void stop() {
if (player != null) {
player.stop();
player.deallocate();
}
} public void destroy() {
player.close();
} public void paint(Graphics g) {
if (showmeImage[tSize] != null)
g.drawImage(showmeImage[tSize], 0, 0, this);
super.paint(g);
} public synchronized void reSize() {
cPanel.setBounds(VLEFT[tSize], VTOP[tSize], WIDTH[tSize], HEIGHT[tSize]);
if (visualComponent != null) {
Dimension size = visualComponent.getPreferredSize();
int width = size.width;
int height = size.height; while (true) {
// Scale to fit
if (width > WIDTH[tSize] || height > HEIGHT[tSize]) {
width /= 2;
height /= 2;
} else if (width < WIDTH[tSize] && height < HEIGHT[tSize]) {
if (width * 2 <= WIDTH[tSize] && height*2 <= HEIGHT[tSize]) {
width *= 2;
height *= 2;
} else
break;
} else
break;
}
visualComponent.setBounds((WIDTH[tSize] - width) / 2,
(HEIGHT[tSize] - height) / 2,
width, height);
}
if (controlComponent != null) {
controlComponent.setBounds(VLEFT[tSize], VBOTTOM[tSize],
WIDTH[tSize], 24);
controlComponent.invalidate();
}
remove(zoomButton);
addZoomButton();
repaint();
} public void addZoomButton() {
zoomButton = new ZoomButton(zoomImageUp[tSize], zoomImageDn[tSize], 1 - tSize);
add(zoomButton);
zoomButton.setBounds(showmeImage[tSize].getWidth(this) - 24, showmeImage[tSize].getHeight(this) - 24, 24, 24);
}
/**
* This controllerUpdate function must be defined in order to
* implement a ControllerListener interface. This
* function will be called whenever there is a media event
*/
public synchronized void controllerUpdate(ControllerEvent event) {
// If we're getting messages from a dead player,
// just leave
if (player == null)
return;
// When the player is Realized, get the visual
// and control components and add them to the Applet
if (event instanceof RealizeCompleteEvent) {
if (( visualComponent =
player.getVisualComponent())!= null) {
cPanel.add(visualComponent);
} if (( controlComponent =
player.getControlPanelComponent()) != null) {
add(controlComponent);
controlComponent.setBounds(VLEFT[tSize], VBOTTOM[tSize],
WIDTH[tSize], 24);
controlComponent.invalidate();
controlComponent.repaint();
}
reSize();
player.prefetch(); } else if (event instanceof EndOfMediaEvent) {
// We've reached the end of the media; rewind and
// start over
player.setMediaTime(new Time(0));
player.prefetch();
} else if (event instanceof ControllerErrorEvent) {
player = null;
Fatal(((ControllerErrorEvent)event).getMessage());
} else if (event instanceof PrefetchCompleteEvent) {
if (visualComponent != null) {
reSize();
}
player.start();
} else if (event instanceof SizeChangeEvent) {
reSize();
}
} void Fatal (String s) {
// Applications will make various choices about what
// to do here. We print a message and then exit
System.err.println("FATAL ERROR: " + s);
throw new Error(s); // Invoke the uncaught exception
// handler System.exit() is another
// choice.
} /*************************************************************************
* INNER CLASSES
*************************************************************************/ public class CPanel extends Panel {
public CPanel() {
super();
setBackground(Color.black);
setLayout( null );
}
} public class ZoomButton extends Component {
Image up, down;
int newSize; boolean mouseUp = true;
public ZoomButton(Image up, Image down, int newSize) {
this.up = up;
this.down = down;
this.newSize = newSize;
setSize(24, 24);
addMouseListener( new MouseAdapter() {
public void mousePressed(MouseEvent me) {
mouseUp = false;
repaint();
} public synchronized void mouseReleased(MouseEvent me) {
mouseUp = true;
TVApplet.this.tSize = ZoomButton.this.newSize;
reSize();
}
} );
} public void paint(Graphics g) {
if (mouseUp)
g.drawImage(up, 0, 0, this);
else
g.drawImage(down, 0, 0, this);
}
}
}
* @(#)MediaPlayerSample.java 1.1 00/05/23
*
* Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
*
* Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
* modify and redistribute this software in source and binary code form,
* provided that i) this copyright notice and license appear on all copies of
* the software; and ii) Licensee does not utilize the software in a manner
* which is disparaging to Sun.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
*/import java.awt.*;
import java.applet.*;
import javax.media.bean.playerbean.*;public class MediaPlayerSample extends Applet
{
public void init()
{
//{{INIT_CONTROLS
setLayout(null);
setSize(518,347);
mediaPlayer1.setMediaLocation(new java.lang.String("Sample1.mov"));
add(mediaPlayer1);
mediaPlayer1.setBounds(36,24,324,272);
//}}
//{{REGISTER_LISTENERS
SymComponent aSymComponent = new SymComponent();
this.addComponentListener(aSymComponent);
SymContainer aSymContainer = new SymContainer();
this.addContainerListener(aSymContainer);
//}}
} public void stop()
{
if (mediaPlayer1!=null)
mediaPlayer1.stop();
}
public void destroy()
{
if (mediaPlayer1!=null)
mediaPlayer1.deallocate();
}
//{{DECLARE_CONTROLS
javax.media.bean.playerbean.MediaPlayer mediaPlayer1 = new javax.media.bean.playerbean.MediaPlayer();
//}} class SymComponent extends java.awt.event.ComponentAdapter
{
public void componentShown(java.awt.event.ComponentEvent event)
{
Object object = event.getSource();
if (object == MediaPlayerSample.this)
MediaPlayerSample_ComponentShown(event);
}
} void MediaPlayerSample_ComponentShown(java.awt.event.ComponentEvent event)
{
// to do: code goes here.
MediaPlayerSample_ComponentShown_Interaction1(event);
} class SymContainer extends java.awt.event.ContainerAdapter
{
public void componentRemoved(java.awt.event.ContainerEvent event)
{
Object object = event.getSource();
if (object == MediaPlayerSample.this)
MediaPlayerSample_ComponentRemoved(event);
}
} void MediaPlayerSample_ComponentRemoved(java.awt.event.ContainerEvent event)
{
// to do: code goes here.
MediaPlayerSample_ComponentRemoved_Interaction1(event);
} void MediaPlayerSample_ComponentShown_Interaction1(java.awt.event.ComponentEvent event)
{
try {
mediaPlayer1.start();
} catch (Exception e) {
}
} void MediaPlayerSample_ComponentRemoved_Interaction1(java.awt.event.ContainerEvent event)
{
try {
mediaPlayer1.stop();
mediaPlayer1.deallocate();
} catch (Exception e) {
}
}
}
你倒是什么都有么
我在运行JApplet的时候,只能出现声音,不能看见图象。