MIX BOY加入新功能了,以前一首一首的点歌很不方便,现在加入了播放列表的功能,你可以先在播放列表菜单中创建自己的播放列表,然后进 我的最爱 选择歌曲加入已创建的播放列表, 这样在进入播放列表时就可以连续播放了,在PC的Safari上可以实现循环连续播放,iPhone上的Safari还不支持,另IE有bug,不过问题不大,等有时间再完善吧,如果你在PC上使用MIX BOY的话shitou强烈推荐用Safari来浏览,Safari对CSS3支持的比较好,里面很多UI都是通过CSS3实现的,上图:
2009-04-07 10:12:23, 895 reviews, comment
send to mailbox
MIX BOY自从发布到现在已经两个多星期了,注册用户超过250个了, 访问量超过2500了(这里统计的方法是用session统计的,所以比较准确, 不会重复累加的),最让shitou高兴的是在apple web app的Search Tools分类排行中已经排在第一位了(搜索类web apps的总数目前是250个), 在总web apps排行中排在第10位(总数是3000多), 哈哈,已经不错了, 不过访问的用户大部分都来自国外
前几天又做了几个更新,加入了自动判定用户的浏览器语言功能,如果当前Safari是英文语言的话,MIX BOY的也会显示英文的.
2009-03-25 16:06:24, 1158 reviews, comment
MIX BOY的开发文档关于MIX BOY的介绍在, 摸我MIX BOY开发文档为了省事下面的MIX BOY就简称MB因为iPod Touch和iPhone功能基本类似,这里就只用Touch代替没有说明的话提到的Safari都是iPod Touch/iPhone上的Safari开始在 开发iPhone/iPodTouch版本的MB之前其实很早就做出了PC上的版本,用你的PC浏览器就可看到了(m.ccok.me),PC版的功能比 较简单,因为当时自己是为了兴趣做出来玩的,后来买了 Touch, 觉得在用Touch听歌时只能通过自己电脑同步音乐或者是安装一些app(现在的听歌app大都是国外的)来收听,这样比较麻烦,你想像在PC上一样访问 一些自己常去的音乐网站随意听点歌,在Touch上就不方便了。在技术上, Safari本身就不支持传统的embed标签播放音乐,剩下的就只有Flash播放器了,然而Touch上的Safari把Flash的功能也阉割了, 这样就挡掉大部分的音乐网站了,你可以说你通过别的手段让Touch的Safari支持Flash播放,但这毕竟是非标准的手段,如果这样开发出来的话你 就得要求你的网站用户都得Hack这个手法了,这样你就挡掉了很多访问你网站的用户。因此就得寻找其他的解决办法了。现在开发Touch版的MB遇到的问题就是:1.音乐从什么地方来2.怎样在Touch的Safari上播放音乐3.用户界面以及具体技术的实现问题的解决1.因为之前PC版MB已经解决了这个问题,就不多考虑了。音乐的来源是yahoo的mp3搜索,就是抓取yahoo的搜索结果,过滤出结果中的音乐地址,然后再呈现给用户。
2.关于音乐在Touch的Safari中播放,PC版的MB是用的Flash播放音乐的,现在就是怎样在Touch的Safari上播放了,一次我偶然(我火 星了吗)发现如果你直接打开一个以mp3结尾的URL地址时,Safari会自动用你Touch里的QuickTime播放这个音乐,这样也就可以理解为 什么YouTube可以在Touch上播放了,也就是只要是一个以媒体格式结束的URL地址,Touch都会自动用QuickTime打开播放的,当然前 提是QuickTime支持这种媒体格式。所以现在问题就解决了,所要做的只是抓取yahoo mp3搜索结果的音乐地址,然后直接把地址作为超链接让用户去点就可以了。但事情往往没想的那么简单,在做的过程中,你若直接把一个音乐地址给用户去点,Safari就会:
1.要 么在当前窗口打开QuickTime播放音乐,当音乐播放完毕,会回到刚才你浏览的网页页面,但它会重新刷新的,因为MB采用了AJAX技术,就是异步传 输数据的模式,简单说就是不用等待页面刷新,数据动态载入页面的意思,所以重新刷新页面就会导致用户之前的所有操作丢失,就好像你刚来到MB一样,当然这 个这个问题是可以用过技术解决的,但是“重新刷新”页面的这个动作你是无法阻止Safari去执行的,这样给用户的体验就非常不好。 2.要么重新打开一个窗口(地址标签中加了target=”_blank”属性),这样的体验就不用说有多糟了,你看到的就是,Safari先把你当前浏览的窗口变小,然后重新打开一个窗口启动QuickTime,这个过程是蛮漂亮的,但给用户的体验还是太繁琐了。因此问题现在就又有了。后来终于想到的解决办法就是:使用隐藏iframe。在首页中嵌入一个隐藏的iframe标签,既宽高都是0,当用户点击音乐的链接时把这个音乐的地址赋给iframe的src地址,这样就解决上面的问题了,让Safari在隐藏的iframe中加载音乐,然后再启动QuickTime的窗口,这也就是用户应该看到的,这样就和YouTube在Touch中的体验一样了。当然现在还是有一个小问题的,就是当那个音乐地址无效产生报错的页面的话,报错页面就会显示在iframe中了,此时你把iframe的宽高设置为0或者把iframe放在一个display:none的div中时也是没用的,不过这样不怎么影响用户的体验,因为报错是在页面最下面的,一般人看不到。3.剩下的就是用什么技术去实现了,因为是在移动平台上的开发,所以页面不能太臃肿和复杂,加快用户的访问速度是很重要的,这里用的就是AJAX了,感兴趣的同 学可以去google下。而且根据Touch上Safari的特点可以做出类似于本地app体验的WEB应用程序,当然MB这里没有刻意去模仿本地app 的用户体验方式,更贴近于传统的WEB应用。
解决了上面几个问题,剩下就是怎样去实现了,因为是WEB平台,实现的技术有太多 种,PHP,.NET, JSP, Python, Ruby on Rails随你, MB用的是Ruby on Rails技术,这也保证了MB的开发速度,除去之前搜索部分的功能已经开发了出来,剩下的工作总共用了不到15个小时完成的,中间加上一顿午饭和晚 饭:)好了,自我感觉介绍的差不多了,最起码把MB开发的核心框架都说了,至于具体再具体的技术操作,有兴趣的同学可以M我。
2009-03-17 16:39:01, 896 reviews, comment
把自己之前的做的MIXBOY移植iPhone了,刚发布出来,主要就是用iPod Touch/iPhone在线听歌,还有一些bug, 只在Touch上测试过, 不过应该在iPhone也是一样的,功能进去就可以看到了, 地址: http://m.ccok.me 用你的Touch或者iPhone访问下试试吧, 忘了说了,用电脑的浏览器和用Touch或者iPhone上的浏览器访问显示的页面是不一样的,功能也不一样 关于播放音乐的问题: 如果链接可用的话点了Play就会自动打开quicktime播放了, 如果过一会还是没反应的话就是那个链接不行了,因为数据是从yahoo抓来的,不能保证可用性的, 所以就请好好利用[存到我的最爱]和[链接报错]的功能吧,这样方便你找到自己喜欢的歌,链接报错数量达到一定次数的时候就不会再显示了,因此需要大家共同来维护的 关于这个网站的开发: 我下面会花点时间写一个简单的介绍的,如果有对开发技术感兴趣的朋友可以关注下这个帖子 希望这个网站能给喜欢Touch和iPhone朋友带来点帮助
下面是网站在Touch上的截图:
2009-03-14 10:35:39, 1006 reviews, comment
因为要学习ruby里的hpricot gem和URI gem的使用,所以就称这个机会自己做了一个音乐的搜索程序,取了个名字:Mixboy功能:a,音乐主要来源是yahoo的mp3搜索,所以不能保证所有的地址都有效,取到它的第一页数据,就是30条搜索结果,显示歌名和歌手b,直接在线flash播放,可以下载c,所有的交互都是基于ajax的roadmap:a,加入歌词显示的功能b,加入dig的功能,保存网友dig音乐的地址地址:Mixboy
2008-07-27 15:25:45, 1319 reviews, comment
少女,不点下广告吗!
all by shitou
blog comments powered by Disqus