J2ME手机开发--播放声音文件的完整源代码
来源:互联网 发布:java调用webservice 编辑:程序博客网 时间:2024/05/01 03:55
//可以在你的j2me项目中,用这个类文件来播放声音
//使用方法:
// source = new Source("1.mid");
// source.start();
//我的手机不支持mp3,^_^,没关系,我自己写个程序来放歌听,只是效果差点.
import javax.microedition.media.*;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;
import java.io.*;
/**
* @author
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Source implements PlayerListener{
Player p;
VolumeControl volC;
/**
* @param filename 声音文件名称
*/
public Source(String fileName) {
super();
// TODO Auto-generated constructor stub
//定义用来读取声音文件的InputStream
InputStream is = getClass().getResourceAsStream(fileName);
if(is == null){
System.out.println("Error happens: InputStream not found " + fileName);
}
try {
p = Manager.createPlayer(is, "audio/midi");
if(p == null){
System.out.println("Error handler happens: InputStream " + fileName);
}else{
p.addPlayerListener(this);
//"具现"播放器
p.realize();
//预取播放器
p.prefetch();
//将播放器设置为无限次播放
p.setLoopCount(-1);
System.out.println("Realized Player: " + fileName);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
} catch (MediaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
//从播放器中获取音量控件
volC = (VolumeControl)p.getControl("VolumeControl");
}
/**关闭播放器
*/
public void destroy(){
if(p != null){
p.close();
}
}
/**
* 从"媒体当前播放到的时刻"开始播放
*/
public void start(){
if(p != null){
try {
p.start();
} catch (MediaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
}
/**
* 停止当前播放器,注意当调用stop时
* 播放器不会重绕到开头
*/
public void stop(){
if(p != null && p.getState() == Player.STARTED){
try {
p.stop();
System.out.println("The Player stoped here:" + p.getMediaTime());
} catch (MediaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
}
/**
* 将媒体当前播放到的时刻设置为负值
* 使媒体重绕到开头位置开始播放
*/
public void rewind(){
if(p != null & p.getState() == Player.PREFETCHED){
try {
p.setMediaTime(-1);
p.start();
} catch (MediaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
}
/**更新播放器的音量
* @param level
* @return
*/
public int setLevel(int level){
return volC.setLevel(level);
}
/** 响应PlayerListener接口的预定义标准事件
* @see javax.microedition.media.PlayerListener#playerUpdate
(javax.microedition.media.Player, java.lang.String, java.lang.Object)
*/
public void playerUpdate(Player p, String event, Object eventData){
// TODO Auto-generated method stub
if(event == STARTED){
System.out.println("MySound Player STARTED");
}else if(event == CLOSED){
System.out.println("MySound Player CLOSED");
}else if(event == END_OF_MEDIA){
System.out.println("MySound Player END_OF_MEDIA");
}else if(event == ERROR){
System.out.println("MySound Player ERROR");
}else if(event == VOLUME_CHANGED){
System.out.println("MySound Player VOLUME_CHANGED");
}else if(event == DURATION_UPDATED){
System.out.println("MySound Player DURATION_UPDATED");
}
}
}
- J2ME手机开发--播放声音文件的完整源代码
- 播放声音文件的完整源代码
- j2me手机游戏开发之俄罗斯方块--附完整源代码
- android开发播放声音文件
- android开发播放声音文件
- 播放嵌入资源的声音文件
- iPhone播放声音文件的例子
- iPhone播放声音文件的例子
- iPhone播放声音文件的例子
- windows播放wav声音文件--java播放wav完整demo
- j2me手机课程表源代码
- 播放声音文件
- 播放声音文件
- 在网页上播放声音文件的方式
- AVAudioPlayer 无法播放本地声音文件的解决
- 在pb中实现声音文件的播放
- 手机上用J2ME的MMAPI播放视频
- J2ME手机游戏开发平台的搭建
- 误装jvm
- vc++学习之关键字
- 爱上对方
- group by 的使用详解
- 郁闷中。。。。。
- J2ME手机开发--播放声音文件的完整源代码
- vc++之hinstance
- extjs tree(树)换节点图标及去掉图标后去掉空白部分
- MyEclipse7.5+EclipseMe+WTK2.5搭建J2ME开发环境
- 如何去除移动磁盘写保护?
- 基本路径测试方法步骤
- 佛曰经典语录
- C#绘制各种统计图的实现方法
- html table 中,如果没内容不显示内部的线