jmf&applet做一个简单的播放器

做一个项目,客户要求播放某一时刻的影像or动画,
于是想到了jmf+applet。jar包地址如下:
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jmf-2_1_1e-alljava.zip?BundledLineItemUUID=CgGJ_hCwhvoAAAEsmjYAHJ_E&OrderID=536J_hCwL7UAAAEsgTYAHJ_E&ProductID=X4zACUFBcakAAAEYzNI5AXis&FileName=/jmf-2_1_1e-alljava.zip

考虑到某些人看到这么长的地址不放心(比如我),可以到
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter
下载

再不放心,可以去
http://www.oracle.com/technetwork/java/javase/download-142937.html

:wink:

需要导入的包包有:
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import javax.media.*;


然后类的屁股加上
extends Applet implements ControllerListener

正文开始:
Player player = null;


public void init() {
URL url = null;
try {
//getDocumentBase() 是获取documentBase的路径,我的是:${工程路径}/bin/
url=new URL(getDocumentBase(),"文件名");
player = Manager.createPlayer(url);
if (player != null) {
player.addControllerListener(this);
}

public void start() {
if (player != null)
player.prefetch();
}

public void stop() {
if (player != null) {
player.stop();
player.deallocate();
}
}

public synchronized void controllerUpdate(ControllerEvent event) {
Component visualComponent = null;
Component controlComponent = null;
if (event instanceof RealizeCompleteEvent)
{
if ((visualComponent = player.getVisualComponent()) != null) {
add("Center", visualComponent);
}
if ((controlComponent = player.getControlPanelComponent()) != null) {
if (visualComponent != null)
add("South", controlComponent);
else
add("Center", controlComponent);
}
validate();
}
else if (event instanceof PrefetchCompleteEvent) {
player.start();
}
}

[color=red]
如果想手动设置url,请以下面的方式写:
URL u = new URL("file:${目录}/");[/color]
比如file:c:/abc/ 其中前缀file:和后面的“/”不可少

另:支持的格式比较少,好容易在电脑里翻出了一个《太阁立志传5》的视频文件可以播放,想尝试的可以下载这个文件试试。
有些AVI和MPG可能会因为文件格式的问题而无法播放。
只能有待高手解决了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值