站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题[j2me]手机也可以玩播客(Podcast)! Geek开发说明

[j2me]手机也可以玩播客(Podcast)! Geek开发说明

摘要: [j2me]手机也可以玩播客(Podcast)! Geek开发说明

[J2ME] 手机也可以玩播客(Podcast)

Geek说明

摘要:

本文档给出iPodderX on Mobile Kjava版本的Geek说明。

第1章 简单描述这个iPodderX的功能和特别之处。

第2章 给出了 这个iPodderX的下载资源。

1背景、功能和特别之处

摘要:本章 简单描述iPodderX on Mobile Kjava版本的背景、功能和特别之处。

1.1. 让你心跳的播客Podcasting的无线玩法到来了!

“今年7月,国外传统媒体包括ABC、维亚康姆、ESPN、《新闻周刊》等大鳄,纷纷为 “播客”开疆辟土,作为MP3播放器领导厂商的苹果公司也迫不及待地在其新版iTunes上内置了播客功能。2005年,播客已成为网络世界新潮流。”

那么,我们的手机能玩这种新玩法吗?作为Geek的我们,能只甘心于用iPod/iTunes这种昂贵的设备收听播客的节目盛筵吗?

我的答案是,能!

播客是什么东西?

答,

“播客,不是博客(blog),是podcasting。这是比博客更新一潮的概念,去年10月刚刚在欧洲冒出,源于苹果公司MP3播放器(iPod)和广播(broadcast)的嫁接。简单地说,博客上传的是文字,但在土豆网,播客上传的是音/视频片段。

播客,什么?从技术上讲,就是BLOG的音视频多媒体版。但技术上的区别,并不能涵盖其全部的意义。通俗的讲,播客就是个人电台/电视台,任何人只要有一个视频头和一个话筒,就可以把自己的声音、影象发布到网络上供其他人观看、点评。

用上述报道里土豆网的创办人说的一句话来概括非常清楚:未来的超女,将诞生在播客里。

--《外滩》画报如是说。

我去哪里寻找优秀的播客资源呢?

答,

土豆网,毫无疑问,目前的中国,你的最佳选择就是土豆网

<formulas></formulas>http://www.toodou.com/img/s-r-toodou-dot.gif

你可以到http://www.toodou.com/channel.php,这里列出了各种口味的播客。

另外一个比较有意思的是反波 AntiWave.nethttp://www.antiwave.net/

一般来说,常用的Podcast桌面软件有:ITunes 4.9,Feeddemon,IPodderX。

我怎么利用手机来收听或下载博客节目呢?

答,

其实,播客在手机上玩最大的一个困难就是,他们上传到土豆网的音乐文件太大了。你想,动辄五、六MB的mp3文件,成几十MB的视频文件,手机用户根本没办法一起和他们玩。

怎么办呢?

我有办法。我来帮你转格式!

我们自建服务器,专门针对国内的播客站点解决这个问题。你把一个播客节目的媒体文件URL发给我的toodouPodcast Java Web Service,比如,你想听土豆网频道“世界音乐鉴赏(日落酒馆) ”推荐的《HIMALAYA OST》,那么传给我它的下载链接

http://www.toodou.com/dl/www.toodou.com-15042-429-01-La mort de Lhakpa.MP3

,我的服务就帮你转换为AMR格式文件,5Mb的mp3文件转换后只有三百多KB,绝对适合于在手机上收听,音质也保持得好好的!

怎么样?技术帮你克服了一个最大的障碍。

还有什么呢?IPodderX 在桌面上做得到东西,我们在手机上也可以做到。下面就是iPodderX的界面,也许可以帮助你理解播客的理念“自由地制作并发布音乐/影片,自由地下载传播”:

那么,在当前移动网络带宽的情况下如何保证实用性呢?

答,我们并不是让手机播放大块头的mp3/wmv/asf,而是当用户在浏览播客频道的各个节目时,如果看到了合适的节目,并希望下载收听,就通过GPRS通知我们的公开的服务器,它负责下载原始音乐文档,并转换为AMR-NB格式的音乐,这样就会大大降低音乐文档的大小。

举个例子,即使是西藏蓝,

http://www.toodou.com/dl/www.toodou.com-15628-611-Tibetan_Indigo_SNAP.wmv这样的28MB的庞然大物,经过我们的压缩,变为了1.4MB的音乐。

什么叫AMR-NB?NB就是指窄带!

这样,一段几分钟的纯音频音乐大约为350KB左右,在中国移动GPRS的带宽为13Kbps~54Kbps情况下,最多40秒钟就下载到手机上了并播放。加上和服务器的来往交互,整个过程大约在1分钟之内就能完成,这样比较接近于桌面应用软件ITunes 4.9了吧,你能够接受它吗?

下载的音乐能否保存在手机上呢?

答,

目前我们只是将数据存储在内存中,然后让手机播放,并不会占用手机存储卡空间。

但在以后的版本中,我们希望能够将这几百KB的音乐文件保存到你的手机存储卡上。

如果你有更多建议,请来信和我联系。开发者郑昀的邮箱:zhengyun(at)gmail.com)

1.2. iPodderX on Mobile概要

我们提供的iPodderX on Mobile(内嵌了土豆网的一个音乐频道)版本 就是这么一种概念:

一个可以下载到手机(例如Nokia7610已经确实可以下载安装并运行)的Java应用程序。

每次选择它的“土豆网-世界音乐鉴赏”项,它就会向我们的服务器发起请求(通过GPRS),

我们的服务器会从土豆网获取并解析指定频道的节目RSS XML清单,然后解析出适合你手机显示的节目文档。

你的手机显示节目们,就像iPodderX一样可以看到土豆网提供的podcast节目的内容介绍,以及podcast音乐文件的名字和大小。

你还可以选择“播放音乐”命令,这样通知服务器下载并转换podcast音乐文件为amr格式,手机下载这个相对小得多的文件播放音乐。

我们还希望,以后能够在手机中提供下载音乐到本手机存储卡的功能。

1.3. 如何来体验iPodderX on Mobile

当你在吃饭的时候,拿起你的手机,选择你喜欢的播客频道,看看最新他们有什么新节目发布了。就像这样:

Ok,有新节目了,这个西藏蓝节目我好像没有看过。点击进去,看看:

哦,很酷吧,节目中音乐文件原始字节数为28MB,我看你还是别下载了,即使我的15倍压缩率,这个音乐还是会要你1.5MB的GPRS流量费用的。

我看还是换成收听下一个《HIMALAYA OST》吧,这是给《迁徙的鸟》作曲的Bruno Coulais的作品,看看大小,哦,5.3MB,就是它了,点击“Play(播放音乐)”命令吧,还等什么呢?

少安毋躁,最多1分钟之后,音乐就会在你的手机里响起了!

音乐响起来的时候,别忘了申请中国移动GPRS包月套餐吧,要不然你的月末话单里会多出好大一块的!

建议:

如果你真的要在实际生活中用到这种功能,那么请申请开通你的GPRS包月套餐,那样20块钱就可以自由使用GPRS了。

建议你的手机是Nokia的手机,同时用Nokia程序管理器设置这个应用配置参数:在连接网络时第一次询问。

为了更好地体验本应用,请先下载toodouPodcastMidlet.jadtoodouPodcastMidlet.jar到计算机上,安装了Nokia开发者模拟器后,用S60系列的模拟器来运行toodouPodcastMidlet.jad。你就可以看到下面所描述的效果了。

在服务器端,我配置了一个Java Web Service,来做各种RSS XML格式的读取和转换工作,目前支持以下格式:

l RSS 0.91;

l RSS 0.92;

l RDF 1.0;

l RSS 2.0;

l Atom 0.3;

这个服务器还将各种音频文件,比如mp3,asf,wmv等等,转换为音质较差的AMR-NB格式。AMR-NB格式是MIDP2.0手机都支持的。服务器端转换的情况你看下面的图片就可以知道压缩率是多么的真实了:

1.4. iPodderX on Mobile功能列表

下面介绍IPodderX on Mobile的功能列表:

l 播客频道

n 土豆网-世界音乐鉴赏频道

n 添加播客频道

n 编辑播客频道

n 删除播客频道

n 阅读频道

u 阅读节目

l Play(播放音乐)

l Replay

l Stop(停止音乐)

u 更新频道节目

l 设置

l 关于

l 退出

下面就是应用程序的主界面:

图1-1 IPodderX on Mobile的主界面

图1-2 IPodderX on Mobile的播客频道主界面

图1-3 进入播客频道后,可以看到当前最新的几个节目

图1-4 可以看某一个节目,列出了标题、音乐文件(名字和大小)以及描述

图1-5 可以自己添加频道。这里已经帮您把土豆网的频道URL写好了,您只需要在最好填上频道号即可!

图1-6 IPodderX on MobileSettings界面,来设置我们的服务器地址以及下载节目的前几个

1.5. 特别之处

下面,我们说说这个应用程序的特别之处。

l 这个应用程序的总体思路其实很简单,最重要的工作都是在服务器端由一个Java Web Service做的。本Midlet应用就是利用KSoap和远端Web Service交互之后,拿到频道的节目清单,以及下载amr音乐媒体文件,然后在手机上播放。

l MVC的类分解,采用了 mingjava 的思路。

l 对RMS记录存储的封装模式以及对资源的调用方式,则参照了索爱公司的BlueGammon游戏代码。

l 对RSS阅读的基本架构,还是参考了我的最初文章《[J2ME]RSSOwlMidlet(RSS无线阅读器)开源说明》以及《[J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明》。相应的RSS无线阅读器Kjava版的源代码可以从http://www.cnblogs.com/Files/zhengyun_ustc/RSSOwlMidlet-src.rar 下载。

对于MVC的类分解,你还可以参考我的另一篇文章《[J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明》以及《[J2ME]VideoCoolala设计说明》

BlueGammon游戏源代码,你可以从

http://www.cnblogs.com/Files/zhengyun_ustc/Bluegammon-eclipse.rar 下载。

BlueGammon的代码很经典,我只是套用了BlueGammon的RmsFacade类,将对RMS的操作完全封装起来。另外用VideoSettings类来提供存储和读取RMS中关于本应用所需要的几个参数的功能,VideoSettings其实就是调用了RmsFacade类。

实际上,AMR-NB格式也是很多手机支持播放的,就是因为AMR格式音乐文件的数据量比mp3/wmv格式的小15倍,所以最终我们还是选择了amr-nb。

1.6. 小结

总的来说,让手机玩播客,一般的思路就只能看播客通过RSS发布的节目清单和描述了。

但是,通过我的这个服务岂,就可以做到,基于播客(Podcasting)的应用在手机上顺畅实现!

只要换一个思路,就可以了。

2 资源

我的IPodderX on Mobile资源:

1:《[J2ME]手机也可以玩播客(Podcast)! Geek客说明

2:下载源代码:http://www.cnblogs.com/Files/zhengyun_ustc/toodouPodcastMidlet.rar ,大约600KB;

3:下载midlet:toodouPodcastMidlet-deployed.rar ,大约71KB。

<table class="MsoNormalTable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 14.75pt; BORDER-LEFT: medium none; WIDTH: 93.66%; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid white .5pt; mso-yfti-tbllook: 480; mso-padding-alt: .7pt 5.75pt .7pt 5.75pt; mso-border-insideh: .5pt solid white; mso-border-insidev: .5pt solid white" cellspacing="0" cellpadding="0" width="93%" border="1"><tr style="HEIGHT: 10.9pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"><td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 5.75pt; BORDER-TOP: white 1pt solid; PADDING-LEFT: 5.75pt; BACKGROUND: #9faccb; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 261pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 10.9pt; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="348">

郑昀@ultrapower

</td><td style="BORDER-RIGHT: white 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: white 1pt solid; PADDING-LEFT: 5.75pt; BACKGROUND: #9faccb; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 110.2pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 10.9pt; mso-border-alt: solid white .5pt" valign="top" width="147">

产品名称

</td><td style="BORDER-RIGHT: white 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: white 1pt solid; PADDING-LEFT: 5.75pt; BACKGROUND: #9faccb; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: #ece9d8; WIDTH: 90.95pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 10.9pt; mso-border-alt: solid white .5pt; mso-border-left-alt: solid white .5pt" valign="top" width="121">

产品版本

</td></tr><tr style="HEIGHT: 15.45pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes"><td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 5.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.75pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 261pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 15.45pt; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="348">

Keyword: Mobile Podcasting Web2.0 播客 博客Media 媒体播放 j2me midp

</td><td style="BORDER-RIGHT: white 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.75pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 110.2pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 15.45pt; mso-border-alt: solid white .5pt; mso-border-top-alt: solid white .5pt" valign="top" width="147">

iPodderX

Mobile

</td><td style="BORDER-RIGHT: white 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.75pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: #ece9d8; WIDTH: 90.95pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 15.45pt; mso-border-alt: solid white .5pt; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt" valign="top" width="121">

0.0.1 BETA

</td></tr></table>



↑返回目录
前一篇: J2ME最佳实践 - 2
后一篇: j2me 菜单设计方案1