一款好的工具软件——TeXmacs

一款好的工具软件——TeXmacs

by freeuniverser

文字编辑和排版软件现在好多,有老牌的TeX,非常流行的LaTeX,广泛使用的Vi(还有Vim)和Emacs,曾经风靡中国内地的WPS,广泛占领中国市场的Microsoft Office,还有Openoffice及其替代品LibreOffice等等,以至于非常之多。而TeXmacs则是TeX与Emacs的完美结合,这个顾名思义。

                                       TeXmacs

官网回答:FAQ

作者信息:关于作者

源码:下载

一个简单的介绍:TeXmacs

王垠的操作说明:TeXmacs脑图

下载地址一:官网下载(目前对Windows不稳定)

下载地址二:Google下载(比较稳定,叫做iTeXmacs,一样的东西)

哪个稳定下哪个,根据自己需要。

 
 
分类:  工具

一个在线听歌的小玩具

 

  前段时间复习了一下数据结构,算法还有操作系统等基础知识(为找暑期实习做准备)。这段时间已经复习的差不多了,闲着没什么事,想着做两个玩具练练手,于是就从身边最常用的软件之一入手,因为自己每天用,对于需求非常清楚,只要考虑技术的实现就好了。
  想来想去先做一个在线听歌(仿百度随心听)的小玩具吧。

  之前一点点都没有接触过js,php,之类做网页的东西,所以看到实验室服务器上的网页很多事php做的,于是选用php。(0基础,语法神马的只是根据C的语法来猜。)请大神轻点吐槽。。

需求:由于是做给自己用,我个人喜欢所有歌曲随机播放,所以只要打开网页,从曲库里面随机放歌就好了,由于用户只有自己,所以美观神马的弄个背景图片放上面就好啦,反正平时都是最小化。需求很清晰很简单。

实现
1.播放固定歌曲

1 echo '<embed src='.($name).' id="player" width=400 height=100 type=audio/mpeg loop="true">';

  这句就是用html中的embed标签来播放歌曲啦,name是歌曲名称,剩下的参数什么意思想知道自己google

2.随机播放
  最初要把歌曲所在的文件夹遍历一遍,把所有的歌曲名称存入数组中,然后随机出一个歌曲名称,放在embed中就成功实现随机播放了~~
  遍历文件夹的代码就不放了,一搜就知道。
随机一个歌曲名

for($size = 0;$files[$size] != NULL; $size++);//求出文件夹中文件的数量
$name=$files[rand()%$size];//随机出一个歌曲名

 

3.该网页中唯一的一个按钮:"下一曲"
只要刷新一下该页面就好啦~~反正都是随机的。

问题:
1.存放歌曲的文件夹中还有非音频的文件,所以要把这些文件排除在name外。

while(strpos($name,"mp3")==false){//如果名字中没有mp3,重新随机,我相信一般其他文件的名字中很少有mp3这个串吧
    $name=$files[rand()%$size];
}

根据我这份代码,我的网页只能播放mp3格式的音频了。。。

2.播完一首歌,继续播这首歌。。。
这个问题困扰了我很长时间,由于实验室服务器是架在linux上的,在网上找了好久,也只找到windows下用COM组件判断歌曲是否播放完的方法。
后来分析,利用ffmpeg可以得到音频的许多信息,其中就有歌曲的长度,从中找到,判断时长差不多了刷新下页面,就能做到随机播放任意歌曲了。
echo '<meta http-equiv="refresh" content="180;url=http://dmxforfun.com/music/music.php">'

由于对于php一点都不懂,所以语法上的东西基本上都是搜来的。做这个东西一共大约花了两个小时,挺好玩的。有点遗憾的是服务器是实验室的,乱装东西不好,于是就没做到自动播放下一曲,后来无奈只要假设每个歌曲都是180s的,每180s自动刷新好了。

由于服务器是ip是局域的,所以没办法把这个玩具的实物和大家分享了,抱歉。后来听说类似的东西都是用js实现的,后悔当时选用php了。

真真切切的一个小玩具,实在是太粗糙了,大神勿喷,欢迎指点。

你可能感兴趣的:(一款好的工具软件——TeXmacs)