闲聊

使用这种方式获取媒体文件信息也是无奈之举。之前以为可以用jmf,但是发现jmf只是处理流的传输,负责播放媒体文件的。
可以看出java的弱点和不足。做这种很细节,跟底层太相关的东西确实有点难。
在网上找了很久,我也折腾了很久,才算找出来方法,跟大家分享。

使用说明

  • 一般通过读取码率算出每次需发送多少字节和隔多久发一次,结合udp来发送。使其到达终端播放。
  • 注意mediainfo.dll要放在项目根目录下,linux下需转换成mediainfo.so文件
  • 代码都可以在资源共享,我的代码中下载
  • MediaInfo在共享里,东西太多就不写在这里了

具体代码

1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {
MediaInfo MI = new MediaInfo();
String FileName = "d:/媒体文件.wav";
if (MI.Open(FileName)>0){
System.out.println("文件打开成功");
String m = MI.Get(MediaInfo.StreamKind.General, 0, "OverallBitRate");
System.out.println("综合码率(音视频结合码率):"+m);
System.out.println("文件所有详细信息:"+MI.Inform());
}
}
文章目录
  1. 1. 闲聊
  2. 2. 使用说明
  3. 3. 具体代码

Sides

IT技术分享博客