支持暂停和继续操作的WAV音频播放
来源:互联网 发布:电脑拍视频软件 编辑:程序博客网 时间:2024/05/01 01:25
import java.io.InputStream;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class Exec extends MIDlet {
private Display display;
DrawPanel dp = new DrawPanel();
public Exec() {
display = Display.getDisplay(this);
}
public void startApp() {
display.setCurrent(dp);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
class DrawPanel extends Canvas {
InputStream in = null;
Player p = null;
int length;
int current = 0;
Thread thread = new Thread(new PlayerUpdater());
boolean flag = false;
public DrawPanel() {
try {
in = getClass().getResourceAsStream("/musics/music.wav");
p = Manager.createPlayer(in, "audio/x-wav");
p.start();
} catch (Exception e) {
System.out.println(e.getMessage());
}
length = (int) (p.getDuration() / 1000 / 1000);
thread.start();
}
protected void paint(Graphics g) {
int width = getWidth();
int height = getHeight();
g.setColor(255, 255, 255);
g.fillRect(0, 0, width, height);
g.setColor(0, 0, 0);
g.fillRect(width / 4, height / 4,
(int) (width / 2 * current / (double) length), 20);
}
// 新增一个线程处理进度条,定义一个内部类
class PlayerUpdater implements Runnable {
public void run() {
try {
while (true) {
if (flag) {
Thread.sleep(1000);
current++;
repaint();
if (current >= length)
break;
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
protected void showNotify() {
flag = true;
try {
p.prefetch();
p.setMediaTime(current * 1000 * 1000L);
p.start();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
protected void hideNotify() {
try {
p.stop();
} catch (Exception e) {
System.out.println(e.getMessage());
}
flag = false;
}
}
- 支持暂停和继续操作的WAV音频播放
- 播放音频的点击播放和暂停
- 关于Java音频播放不循环和暂停、继续播放(非Android)
- 安卓AudioRecord实现录音和播放,可以暂停和获取声音的大小,格式为amr和wav,可以对音频进行加密
- android 暂停和继续第三方应用的语音播放
- android 暂停和继续第三方应用的语音播放
- iOS开发 实现动画的暂停和继续播放
- JS/JQ控制音频的播放和暂停
- 单片机播放WAV格式音频的理解
- WAV音频的播放(带窗口)
- c++音频播放,wav格式的
- 动画的暂停与继续播放
- iOS开发—线程的模拟暂停和继续操作
- 播放WAV音频
- Java-播放WAV音频
- NSTimer的暂停和继续
- NSTimer的暂停和继续
- NSTimer的暂停和继续
- VC下利用MSMAPI32.OCX编写邮件功能
- [双语阅读]韩国研发出会跳舞的机器人
- 疲劳之中寻找本我
- [双语阅读]揭秘:巴赫部分名曲为其妻子所作
- 推荐两个不错的软件
- 支持暂停和继续操作的WAV音频播放
- 十七届三中“全会”
- 谷歌浏览器的源码分析(26)
- 关于N皇后问题高效试探回溯算法的分析
- 一个禁止右键、选择、拖曳、清空剪切板、禁止网页另存为的实用JavaScript脚本
- dfdfd
- 爱情-生活 (转)
- 动态内存分配(转抄)
- C/C++资源导航