
由于avi当中压缩的种类繁多,JMF不能胜任,最好调用系统的DLL(系统的解码器)来读取 最简单的一个方法通过jacob调用WINDOWS的ActiveMovie control type library来读龋 另外,通过JNI+fmpeg、JFmpeg等,也可以
你这个lenth变量不可能取得到值啊。
ValBack = mciSendString("status"+"song length", lenth,lenthLength, 0);
这一句你把lenth一个为""的值当作参数传给mciSendString,这是什么意思呢?
整个方法没有给lenth赋值的量,你再去取得它,它依然还是"",当然取不到了。
这个API函数不太常用,我帮你找了个详细的例子,你可以临摹一下。好好研究一下吧。
>
MediaPlayer md = new MediaPlayer();
try {
LogUtilslog(EnvironmentgetExternalStorageDirectory() +"/123mp3");
mdsetDataSource(EnvironmentgetExternalStorageDirectory() +"/123mp3");
mdprepare();
LogUtilslog("size " + mdgetDuration());
} catch (Exception e) {
eprintStackTrace();
}
MediaPlayer 初始化 -> setDataSource->prepare-> 就可以获取到了getDuration() 单位是ms
把它加载到一个mediapalyer里面去,然后就可以通过getduration()接口获取到了
mediaplayer
可以播放音频和视频,另外也可以通过videoview来播放视频,虽然videoview比mediaplayer简单易用,但定制性不如用
mediaplayer,要视情况选择了。mediaplayer播放音频比较简单,但是要播放视频就需要surfaceview。
surfaceview比普通的自定义view更有绘图上的优势,它支持完全的opengl
es库。
以上就是关于怎么用java怎么获取音频播放时长全部的内容,包括:怎么用java怎么获取音频播放时长、C# 中如何使用API函数来获取音频文件的时间长度、AVAudioPlayer 怎样获取当前音频文件的总播放时长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)