社区
多媒体/流媒体开发
帖子详情
如何才能修改MP3的文件长度(持续时间)信息?
xflin
2006-09-20 05:11:49
有一MP3文件,MPEG信息显示为0:06:30,我想修改为我想要的信息,如:0:30:30,但不知道这些信息是存在哪,怎么存放的,也没有找到可以修改的软件,大部分软件都只是修改ID3V1和ID3V2的,请问有办法办到吗?
...全文
3774
20
打赏
收藏
如何才能修改MP3的文件长度(持续时间)信息?
有一MP3文件,MPEG信息显示为0:06:30,我想修改为我想要的信息,如:0:30:30,但不知道这些信息是存在哪,怎么存放的,也没有找到可以修改的软件,大部分软件都只是修改ID3V1和ID3V2的,请问有办法办到吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
httpaspjspphp
2006-10-27
打赏
举报
回复
我一气做过
很简单的
httpaspjspphp
2006-10-27
打赏
举报
回复
以前
Walzer
2006-10-26
打赏
举报
回复
我描述一下计算MP3播放时长的算法吧:
首先,判断该MP3是CBR还是VBR,依据是在第一帧里面是否找到"Xing"或"VBRI"字样,如果没找到就是CBR,如果找到就是VBR.
(1)CBR。 CBR的MP3既没有FILE HEADER,也没有VBR HEADER,所以无法简单地知道播放时长、总帧数等信息,那么我的计算方法是,先读出第一帧的bitrate,然后播放duration = (filesize - id3_size) / (bitrate/8) 也就是主要靠byterate来算,MP3文件长度里需要扣掉ID3 TAG的长度,会是在文件头或文件尾
(2)VBR。 VBR的话会有VBR HEADER,不论是Xing还是VBRI,一般都可以得到TotalFrameNumber数据,再加上帧头解出来的SamplesPerFrame,SampleRate, 那么Duration = TotalFrameNumber * SamplesPerFrame / SampleRate
所以,回过来回答楼主的问题,如果是CBR的MP3文件,你把最后一帧(歌曲末尾一般是静音)一直复制,直至文件长度套入公式可以达到你要求的时间为止。那么一首6:30的歌曲播完后就会一直静音到30分钟。显示上也是30分钟。如果是VBR的MP3文件,那么我猜测直接修改Xing header或VBRI header中的TotalFrameNum区域就可以改变播放时长了,但播放到文件末尾处可能会有错。
关于frame header和VBRI,XING header,请参考http://www.codeproject.com/audio/MPEGAudioInfo.asp
matrass_zhao
2006-10-25
打赏
举报
回复
mp3的长度信息应该是计算出来的,不是写在文件头中的。
corn8888
2006-10-07
打赏
举报
回复
mark
「已注销」
2006-09-26
打赏
举报
回复
分析结构,然后按偏移读数据就OK了吧,一般是都文件头信息好像都是这样做的
一条晚起的虫
2006-09-26
打赏
举报
回复
在mp3的头信息下有一个TLEN项,里面是播放时间的ms值。
你把mp3按binary方式打开就可以看到。
好运。
xflin
2006-09-26
打赏
举报
回复
关键就是结构里没有关于这一点的说明,而且MP3的头信息里,好像有的里面有ms值,但有的没有
xflin
2006-09-25
打赏
举报
回复
请好心人帮帮忙啊!
xflin
2006-09-23
打赏
举报
回复
找过了,没有找到相关的软件
wudi_1982
2006-09-22
打赏
举报
回复
用google搜一下mp3的文件结果,然后修改
xflin
2006-09-22
打赏
举报
回复
有其他软件能够修改得吗?
zhuminghua
2006-09-21
打赏
举报
回复
好像是通过计算得到的,看看这个贴子,上面还有个VC的代码
http://www.hydrogenaudio.org/forums/lofiversion/index.php/t46563.html
xflin
2006-09-21
打赏
举报
回复
应该不会吧,但我感觉好像是有固定的信息格式一样
xflin
2006-09-20
打赏
举报
回复
可以不增加帧数的,只是改掉MP3摘要信息就行了,但就是不知道摘要信息放在哪在
zhuminghua
2006-09-20
打赏
举报
回复
上面说1帧是24ms,可能要增加帧数吧,呵呵,没有搞过~
zhuminghua
2006-09-20
打赏
举报
回复
看看这个mp3文件结构,应该会有帮助
http://www.tomore.com/367/25618.html
天涯倦客
2006-09-20
打赏
举报
回复
http://sourceforge.net/projects/mp3bookhelper
sf有开源项目
不过我用delphi2006开不了
postren
2006-09-20
打赏
举报
回复
搜搜MP3文件格式,分析其具体的格式就可以得到
没做过,给你个思路
天涯倦客
2006-09-20
打赏
举报
回复
文件格式没用过
matlab 怎么获得wav的时间
长度
,获取.wav
文件
长度
或
持续时间
持续时间
等于帧数除以帧率(每秒帧数):import waveimport contextlibfname = '/tmp/test.wav'with contextlib.closing(wave.open(fname,'r')) as f:frames = f.getnframes()rate = f.getframerate()duration = frames / float(rate)pr...
Python批量读取视频
文件
的时间
长度
这个代码循环遍历指定
文件
夹中的所有
文件
,对于每个视频
文件
,使用OpenCV的VideoCapture对象打开
文件
,并使用get方法获取视频的帧数和帧率。然后,通过将帧数除以帧率来计算视频的
持续时间
。最后,代码打印出每个视频
文件
的名称和
持续时间
。要批量读取视频
文件
的时间
长度
,可以使用Python中的OpenCV库。
MP3
文件
结构解析
1.
MP3
文件
结构解析1.1. 概述1.1.1. 音频相关术语ü ID3:一般位于一个
mp3
文件
的开头或末尾的若干字节内,记录该
mp3
文件
的歌手、标题、专辑名称、年代、风格等
信息
,ID3分位两个版本,V1版ID3在
文件
末尾的固定128字节,以TAG字符开头,若没有则认为无ID3V1
信息
,V2版ID3位于
mp3
的开头,
长度
可变。ü 采样率:每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹...
MP3
文件
结构解析(超详细)
1.
MP3
文件
结构解析 1.1. 概述 1.1.1. 音频相关术语 ü ID3: 一般位于一个
mp3
文件
的开头或末尾的若干字节内,记录该
mp3
文件
的歌手、标题、专辑名称、年代、风格等
信息
,ID3分位两个版本,V1版ID3在
文件
末尾的固定128字节,以TAG字符开头,若没有则认为无ID3V1
信息
,V2版ID3位于
mp3
的开头,
长度
可变。 ü 采样率: 每秒从连续信号中提取并组成离散信号的采样...
20160916IOS音频开发之资源与元数据,解决获取资源属性问题(一)
先提出一个问题,生活中有很多的媒体格式,
mp3
,avi,rmvb等等,在苹果环境下主要的媒体格式有4种,QuickTime(mov),MPEG-4 video(mp4,m4v),MPEG-4 audio(m4a),MPEG-Layer III audio(
mp3
),那么问题来了,假如给你一个
mp3
文件
,比如歌曲《再见.
mp3
》张震岳,你是不是有办法读取里面的数据,比如读取它的歌名,演唱者,属于哪个专辑,专辑的封面,
文件
的
长度
等等
信息
???
多媒体/流媒体开发
2,550
社区成员
20,278
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章