这样的程序该怎样写?

[复制链接]
2927|8
 楼主| 哈佛大学 发表于 2007-2-16 00:30 | 显示全部楼层 |阅读模式
最近在搞一个MP3程序,要求每一首歌曲若是长度不足整数分钟的,通过对整首歌的变速播放(加或减)来补足整数分钟
( 如:3分29 to 3分00秒 , 如:2分30 to 3分00秒),这应该怎样写好?微积分处理?
 楼主| 哈佛大学 发表于 2007-2-16 08:41 | 显示全部楼层

歌曲都是一些大自然音乐,作人体治疗用

变速是通过单片机与mp3模块软件通讯实现,有+/-30档选择 。问题是“变”多少,算法怎样写?使之能够“29秒以下 舍 30秒以上 入”。
平常人 发表于 2007-2-16 15:42 | 显示全部楼层

歌曲长度以秒为单位计算

设歌曲长度为t秒,最终要播放m分钟,则:

m = t / 60;
if ((t % 60) >= 30)
  m++; // 29秒以下舍;30秒以上入

如此之简单!
 楼主| 哈佛大学 发表于 2007-2-16 20:32 | 显示全部楼层

平常人,你是我的21ic第一偶像,看到你的回复,眼泪都掉了

“舍入”做到了,但对不同长度的歌曲,该加速或减速多少,使之能够取整呢?
faiwong 发表于 2007-2-17 00:46 | 显示全部楼层

你何不通通舍,只播发整分钟就停.

 楼主| 哈佛大学 发表于 2007-2-17 10:31 | 显示全部楼层

这是老板的要求啊

平常人 发表于 2007-2-17 12:06 | 显示全部楼层

“哈佛大学”好像不研究比例变换

续上帖:

假定正常播放频率是44kHz,则新的播放频率应为:f = 44000 * (t / (m*60))

剩下的问题就是+/-30档的选择了,这个要是再不会,你的项目也就不用做了。
 楼主| 哈佛大学 发表于 2007-2-17 12:39 | 显示全部楼层

you are my god

您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

54

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部