Ophone平台三种不同的数据源

Ophone平台可以通过资源文件、文件系统和网络三种方式来播放多媒体文件。无论使用哪种播放方式,基本的流程都是类似的。当然也存在一些细小的差别,比如,直接调用MediaPlayer.create()方法创建的MediaPlayer对象已经设置了数据源,并且调用了prepare()方法。从网络播放媒体文件,在prepare阶段的处理与其他两种方式不同,为了避免阻塞用户,需要异步处理。但是,音乐播放还是遵循了下面的4步流程。

Ø 创建MediaPlayer对象;

Ø 调用setDataSource()设置数据源;

Ø 调用prepare()方法;

Ø 调用start开始播放。

1.    从资源文件中播放

多媒体文件可以放在资源文件夹/res/raw下,然后通过MediaPlayer.create()方法创建MediaPlayer对象。由于createcontext ctxint file)方法中已经包含了多媒体文件的位置参数file,因此无须在设置数据源,调用prepare()方法,这些操作在create()方法的内部已经完成了。获得MediaPlayer对象后直接调用start()方法即可播放音乐。

2.    从文件系统播放

如果开发一个多媒体播放器,一定需要具备从文件系统播放音乐的能力,这时不能在使用MediaPlayer.create()方法创建MediaPlayer对象,而是使用new操作符创建MediaPlayer对象,获得MediaPlayer对象之后,需要依次调用setDatasource()prepare()方法,以便设置数据源,让播放器完成准备工作,从文件系统播放MP3文件的代码如下所示:

3.    从网络播放

在移动互联网时代,移动多媒体业务有着广阔的前景,中国移动“移动随身听”业务一直有着不错的表现,事实上,开发一个网络媒体播放器并不容易。某些平台提供的多媒体框架,并不支持“边下载,边播放”的特性,而且将整个媒体文件下载到本地后再开始播放,用户体验较差。在应用层实现“边下载,边播放”的特性是一项比较复杂的工作,一方面需要自己处理媒体文件的下载和缓冲,另一方面还需要处理媒体文件格式解析,以及音频数据的拆包和拼装等操作。项目实施难度较大,项目移植性差,最终的发布程序也会比较臃肿。

来自:里仁教育网:http://www.lirenedu.org/index.php?ack=xinwen&id=1174 

posted on 2012-08-27 14:19  yetta2011  阅读(125)  评论(0)    收藏  举报

导航