中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-26 14:17
47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行
其它操作系统综合讨论区 » 提取音频文件的“持续时间”
可打印版本  1,956 / 3
第1楼 wooglle 发表于 2010-07-25 20:03
初级用户 发帖 14 积分 23
提取音频文件的“持续时间”
在论坛上找了好久,都没有发现满意的代码。
请问各位大侠有没有什么方法,用DOS命令提取音频文件(mp3,wma等)的“持续时间”。
第2楼 johnsonlam 发表于 2010-07-25 22:44
银牌会员 发帖 497 积分 1,410 来自 九龍,香港
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楼 wooglle 发表于 2010-07-26 00:31
初级用户 发帖 14 积分 23
谢谢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楼 jqh2004 发表于 2010-10-30 13:15
新手上路 发帖 9 积分 10
用wmic方法呢?
这个有好多操作方法,应该能吧wmplayer的一些工具调用出来吧
不懂,随便说了下
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023