RT,最好给个demo
解决方案 »
- 一个用java实现的将图片转成字符画的程序要怎么实现
- JAVA监听键盘事件怎么实现退格
- 如何判断与数据库的连接是否正常
- 如何用Java对XML文件进行Schema校验,Schema文件用的是微软格式
- java中的class类继承JFrame,为什么出现JPanel上的控件不能移动被锁定了还出现一个空对象的异常但运行没错误???高手帮帮!!!
- 怎么读取控制台输入的double型数据?
- 再问一个问题,怎么在组件上挂皮肤
- 这个CSS样式表为什么没有起作用呢.请大家帮我看一下,谢谢
- 诚心向J2EE高手请教,望指点迷津!(有知识回报,望共同学习)
- jb5运行不了,怎么办?
- 想知道是否有这样一种算发
- Java 往 Oracle的Blob字段里插入数据报错问题
* 获取视频播放总时长
*
* @param fileName
* 视频名称
* @param dir
* 存放视频的目录
* @return
* @throws IOException
*/
public static long getVideoPlayTime(String videoName, File dir) throws IOException{
Process p = null;
if (isWindowsSystem()) {
p = Runtime.getRuntime().exec(
"cmd /c timelength.bat " + "\"" + dir.getPath() + "/" + videoName
+ ".wmv\"");
} else {
String cmd = "sh " + getMplayerBinPath() + "/timelength.sh " + dir.getPath()+ "/" + videoName + ".wmv";
p = Runtime.getRuntime().exec(cmd);
}
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
if(line != null){
if(line.startsWith("ID_LENGTH")){
String second = line.split("=")[1].trim();
int pos = 0;
if((pos = second.indexOf(".")) != -1){
// 去除小数点后的数字
return Long.parseLong(second.substring(0, pos));
}else{
return Long.parseLong(second);
}
}
}
}
try {
br.close();
isr.close();
is.close();
} catch (Exception e) { }
return 0;
} /**
* 格式化视频播放时长
* @param time
* @return
*/
public static String formatVideoTimeLength(long time) {
long s = time % 60;
long m = (time / 60) % 60;
long h = time / 3600;
return toTimeString(h) + ":" + toTimeString(m) + ":" + toTimeString(s);
}这个代码可以获取wmv视频文件的时长,你可以照着写,但是得知道wav文件头的格式
import java.io.IOException;import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;public class AudioLength { public static void main(String[] args) throws LineUnavailableException,
UnsupportedAudioFileException, IOException {
File file = new File("d:/test.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
clip.open(ais);
System.out.println( clip.getMicrosecondLength() / 1000000D + " s" );
}
}