现在做一个彩信预览功能,从数据库中取出彩信文字,彩信图片,和背景音乐,3个内容组成一帧彩信,每一帧设置时长(可以是3秒,5秒,或10秒..),以3帧为例,点击"预览"时,在一个JFrame中根据帧数i循环取出每帧,并按照设定的帧长播放显示预览内容.彩信内容从数据库取出后放在本地硬盘上,问题是怎样控制for循环,让其按照帧长去播放,for循环的内容如下:
for (int i = 0; i < mmsTextPath.length; i++) {
if (mmsTextPath[i] != null) {
// 初始化彩信文字内容
readFileByChars(mmsTextPath[i]);
}
if (picPath[i] != null) {
image = new ImageIcon(picPath[i]);
// 设置图片大小自适应JLabel大小
image.setImage(image.getImage().getScaledInstance(200,
200, Image.SCALE_DEFAULT));
picLabel = new JLabel(image);
}
if (audioPath[i] != null) {
// 用流读取文件前先判断文件在不在?否则文件不在的话会报异常!
File file = new File(audioPath[i]);
if (file.exists() && file.length() > 0) {
// 从硬盘上读取指定音频文件
try {
FileInputStream fis = new FileInputStream(
audioPath[i]);
try {
as = new AudioStream(fis);
AudioPlayer.player.start(as);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
想用过Timer也试过Thread但都没实现,搞了一天了,希望哪位大神指教下!
在线等!!!!threadtimer