中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-24 23:51
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 提取音频文件的“持续时间” 查看 1,699 回复 3
楼 主 提取音频文件的“持续时间” 发表于 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 ]
我 的 網 站 - http://optimizr.dyndns.org
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的一些工具调用出来吧
不懂,随便说了下
论坛跳转: