网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  使用java me以流形式播放web服务器上的音乐文件     
  文章作者:未知  文章来源:水木森林  
  查看:105次  录入:管理员--2007-11-17  
 

本文介绍如何使用java me在sonyericsson java 平台6或者更新的电话上,例如w550,w900等,以流形式播放web服务器上的音乐文件。当然,音乐文件可以使用实时流媒体协议播放,但是这里使用的是输入流。

首先,我们需要和服务器端的音乐文件建立流连接,然后把音乐文件存储在在手机的文件系统上。由于jp6平台的电话支持渐进播放音乐文件,因此我们不必等到所有文件都下载完成后才开始播放。

有两方面的问题需要我们考虑好:

1)下载的速度,程序需要建立一个缓冲区。

2)媒体时间,程序需要跟踪媒体时间,如果下载的速度比媒体播放速度慢,当播放器到达文件终点的时候,我们需要重新创建一个缓冲区然后设置正确的媒体时间开始播放。

下面的程序可以在电话的文件系统上创建一个文件并打开输出流。

fconn = (fileconnection)connector.open("file:///c:/other/mymusic.mp3");
fconn.create();
outputstream = fconn.openoutputstream();

接下来把从输入流的数据写入到输出流中。

httpconnection conn = (httpconnection)connector.open(url);
inputstream is = conn.openinputstream();

int chunksize = 512;
byte []data = new byte[chunksize];
int length = 0;
do{
    length = is.read(data, 0, chunksize);
    progress += length;

    if(length != -1){
        outputstream.write(data, 0, length);
    }   

}while(length != -1);
当下载的缓冲区就绪之后,我们就可以播放文件了。

final string file = "file:///c:/other/mymusic.mp3";

player = manager.createplayer(file);
player.addplayerlistener(this);
player.realize();
player.setmediatime(starttime);

记得记录媒体时间,当我们重新播放音乐的时候用得着。

player应该实现playerlistener接口,这样可以跟踪媒体的播放状态,如下所示:

public void playerupdate(javax.microedition.media.player player, string str, object obj) {
    if(str == playerlistener.end_of_media){
        playerbufferadd();
        player.close();
    }
}

在playerupdate()方法中我们跟踪是否播放器到达了文件的终点,如果是的话,创建一个新的缓冲区和新的播放器,把前面的播放器关闭,然后继续播放。

 
 
上一篇: 使用netbeans开发基于cdc的java me程序入门    下一篇: 使用java web services developer pack1.6开发webservice入门
  相关文档
基础应用:Java Web中三层架构配置入门 08-07
setutchours 方法 11-16
对j2ee几点的理解 11-17
jsp的中文处理解决方法 11-17
深入探究ejb应用技术的体系结构 11-17
linux下tomcat与apache web服务器整合 11-17
使用java swing界面实现数据库基本操作 11-16
网上收集的一些java应用 11-17
网络数据流的java处理(2) 11-17
java的复杂数据类型 11-16
java io 包中的decorator模式 11-16
软件架构:可控的灵活性 11-16
用java绘制k线图 11-17
用eclipseme0.5.5创建简单的j2me程序(图) 11-17
java:咖啡的香气飘满互联网 11-17
自己写的一个未成熟的数据库连接池(二) 11-17
学习java需要知道的一些问题 11-17
如何用 java 编写一个扫描仪程序 11-17
j2ee基础:在struts 2中实现文件上传 11-16
move 方法 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息