免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4989 | 回复: 13
打印 上一主题 下一主题

想用perl写这样一个小应用,希望各位高手能指点下门路,谢谢啦。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-21 10:51 |只看该作者 |倒序浏览
大家好,学习perl一段时间。我想写这样一个小应用程序,但不知道该怎么做,请大家指点一下思路。

就是一个可以根据同步歌词内容,切换MP3的播放器。(可以引用已有的,像酷狗,QQ音乐,千千静听,都行。)
主要是想实现一个小功能。
原来大概是这样:
我觉得需要剪切MP3做歌曲串烧太麻烦。
这两天,在做LRC同步歌词的时候,突然有个想法。
我能不能,在LRC内,加入一个表示关联歌曲名字的关键字。
这样,我把要串烧的歌曲,和我新做的串烧的歌词LRC放在一个文件夹。

播放器读到我这个歌词,就自动切换到那个歌曲的这个时间点进行播放。
举个例子,比如:
我的LRC文件是:
[歌曲名][起始时间][结束时间]   歌词名
[爱情买卖][1:23][1:25] 爱情不是你说卖,想买就能卖。
[传奇][2:21][2:28]我一直在你身边,从未走远。
[菊花台][3:05][3:10]菊花残,满地伤,你的笑容已泛黄。

这样,这个播放器,可以根据我这个LRC的内容,依次播放这几句歌曲。
这样,在做串烧的时候,就不用切MP3的音频了,只要做一个同步歌词就行了。
我朋友,没事就喜欢做串烧玩,我希望做个这个东西,过年的时候,回家送她做礼物,祝她新年快乐。

现在不知道该怎么入手,希望高手指点下道路。

另外:如果编写播放器太困难,我想,只要能做到控制MP3播放器的播放文件和进程也可以。
就是不知道该用什么方式控制。
只控制播放列表可以吗?对这些实在不熟悉。
希望高手能够指点一二。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2010-11-21 11:32 |只看该作者
另外:如果编写播放器太困难,我想,只要能做到控制MP3播放器的播放文件和进程也可以。


这样想就对了。
播放音乐可以找操作系统的 SDK 支持,这个需求很靠谱,问题不大。
windows 下可以看看 DirectX

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2010-11-21 11:40 |只看该作者
哦,还有个方案,我觉得工作量更小一些,更靠谱一些。
那就是用 Perl 写个流媒体服务器,用 SHOUTcast 协议即可。
然后播放器仍然使用普通的播放器,只要支持 SHOUTcast 就可以了,比如 Winamp 就是可以的。
这样你需要两个文件,
一个是给 Perl 服务器用的流媒体描述文件(格式自定义),说明是哪个 mp3 文件的哪一段。
还有一个是给 Winamp 用的 LRC 文件(普通的格式,不需要增减内容),要和你的串烧流媒体对应。

嗯,这个方案很靠谱,估计一个礼拜应该可以搞定。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-11-21 11:42 |只看该作者
本帖最后由 flw 于 2010-11-21 11:50 编辑

喏,还可以参考一下这个:
http://search.cpan.org/~muenalan/Winamp-Control-0.2.1/Control.pm

版本有些老,而且似乎不是 SHOUTcast 协议,估计只具备参考价值。不如我前面给出的解决方案。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2010-11-21 12:00 |只看该作者
楼主在这个基础上做吧:

http://poe.perl.org/?POE_Cookbook/Web_Stream_Server

论坛徽章:
0
6 [报告]
发表于 2010-11-21 12:08 |只看该作者
非常感谢FLW,我这就回去试。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2010-11-21 12:14 |只看该作者
如果你能把这个东西做成,可以联系一下我。

论坛徽章:
0
8 [报告]
发表于 2010-11-21 12:18 |只看该作者
flw打算把楼主招安了{:3_204:}

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
9 [报告]
发表于 2010-11-21 14:33 |只看该作者
本帖最后由 zhlong8 于 2010-11-21 14:50 编辑

我觉得 perl 擅长的是分析你的 LRC 文件然后调用程序分割合并你的音频文件。控制播放器什么的是走入歧途的想法,试问楼主真的有必要动态切歌吗,何况还有切换时候的缓冲问题(不懂音乐猜的)。 flw 要做的东西估计都可以卖给百度mp3了

论坛徽章:
0
10 [报告]
发表于 2010-11-21 16:06 |只看该作者
楼主也可以研究下foobar2000这个播放器, http://www.foobar2000.org ,有很多组件可用,也可以自己写组件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP