楼 主
提取音频文件的“持续时间”
发表于 2010-07-25 20:03 · 中国 天津 电信
初级用户
★
积分 23
发帖 14
注册 2010-05-04 23:34
16年会员
UID 166109
性别 男
状态 离线
在论坛上找了好久,都没有发现满意的代码。
请问各位大侠有没有什么方法,用DOS命令提取音频文件(mp3,wma等)的“持续时间”。
第 2 楼
发表于 2010-07-25 22:44 · 中国 香港 城市电讯有限公司
银牌会员
★★★
阿林
积分 1,410
发帖 497
注册 2004-06-28 00:00
21年会员
UID 27551
性别 男
来自 九龍,香港
状态 离线
1) use block read (or read whole file)
2) store in memory (buffer)
3) call decoding routine
4) play
Cubic player ( 無 敵 DOS 音 樂 播 放 器 ) with source code:
http://www.cubic.org/player/geocities/download.html
[
Last edited by johnsonlam on 2010-7-25 at 22:46 ]
第 3 楼
发表于 2010-07-26 00:31 · 中国 天津 电信
初级用户
★
积分 23
发帖 14
注册 2010-05-04 23:34
16年会员
UID 166109
性别 男
状态 离线
谢谢johnsonlam兄,Cubic player我下了,但是真的是搞不懂。
兄给出的4个步骤应该是一种解题的思路,但是我觉得如果要read whole file的话不利于多个文件的批量操作。
我在网上又查了一下,发现有利用wmp来提取的例子,不过好像是在VB中,
我把这个代码贴在这里,希望高手可以参照一下,挪用到DOS里
<code>
SumTime := MediaPlayer1.Length div 1000; //该MP3文件播放持续时间
<code>
在这里也分享一下自己刚刚领悟的笨方法,利用foorbar2000的一个插件。
先全选要提取的文件,然后利用工具里的“文本工具”,添加“length”项,然后就可以复制粘贴所有文件的“持续长度”了。
说明一下,我提取这个“持续长度”主要是向利用dos制作一个简单的音乐播放器。
这个播放器主要是利用mshta.exe,但是,必须要提供音频文件的“持续长度”才可以连贯地播放。
现在,我利用foorbar2000+Excel可以快速得到需要的播放列表,但是此方法不利于传播普及,所以,希望高手可以提供更好的方法。谢谢!!!
第 4 楼
用wmic方法呢?
发表于 2010-10-30 13:15 · 中国 重庆 九龙坡区 电信
新手上路
★
积分 10
发帖 9
注册 2010-10-22 21:12
15年会员
UID 176356
性别 男
状态 离线
这个有好多操作方法,应该能吧wmplayer的一些工具调用出来吧
不懂,随便说了下
论坛跳转: