新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Android的多媒体应用开发与研究

基于Android的多媒体应用开发与研究

作者:时间:2012-03-05来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/149521.htm

3. 2 Open Core 的主要类与接口

Open Core 主要提供了如下几个类:

( 1) MediaPlayer 类可以用于播放音频、视频和流媒体,它包含了Audio 和Video 的播放功能,在的界面上,音频和视频的播放都是调用Media-Player 实现的。它可以获得媒体文件和各种属性和当前的播放状态,并可以开始和停止文件的播放。

( 2) MediaRecorder 类用来进行媒体采样,包括音频和视频。MediaRecorder 作为状态机运行,需要设置不同的参数,如源格式和源设备。设置后可执行任意长度的录制,直到用户停止。

( 3) VideoView 类主要用来显示一个视频文件,它是SurfaceView 类的一个子类,且实现了MediaPlayerControl接口。

( 4) Camera 类用来处理系统中与相机相关的事件,Camera 是一个专门用来连接和断开相机服务的类。

Open Core 在使用过程中的调用关系如图2所示。

图2 使用Open Core 的调用关系图

图2 使用Open Core 的调用关系图

4 示例程序: 播放器

4. 1 布局设计

是通过布局( Layout) 来定义UI( 用户界面) 的。一般视图( View) 可以直接在布局的XML 里声明。XML 文件如下所示:

   ? xml version = ″1. 0″encoding = ″utf-8?″ >

  - AbsoluteLayout

  xmlns: android = ″http: / /schemas. android. com/apk /res /android″

  android: orientation = ″vertical″

  android: layout_width = ″fill_parent″

  android: layout_height = ″fill_parent″ >

   ListView

  android: id = ″@ id /android: list″

  android: layout_width = ″fill_parent″

  android: layout_height = ″fill_parent″

  android: layout_weight = ″1″

  android: drawSelectorOnTop = ″false″ / >

   ImageButton

  android: id = ″@ + id /LastImageButton″

  android: layout_width = ″wrap_content″

  android: layout_height = ″wrap_content″

  android: layout_x = ″10px″

  android: layout_y = ″170px″

  android: src = ″@ drawable /last″ / >

  ( 以下4 个BUTTON 同上,横坐标有变化。)

   /AbsoluteLayout >

这个简单的播放器只有一个界面,可以显示播放列表和对音乐的播放进行各种操作。

4. 2 程序框架设计

在这唯一的Activity 类的界面生成消息响应方法中,先定义几个操作按钮,然后就要创建整个程序的主对象---mMediaPlayer 了。语句如下:

  public MediaPlayer mMediaPlayer = null;

这是一个MediaPlayer 类型的对象,它的功能前面已经介绍过了,这里不再赘述。之后要创建的就是其它的组件,包括播放列表、歌曲的路径以及索引了。

  private List String > mMusicList = new ArrayList String >( ) ; / /播放列表

  private int currentListItme = 0; / /索引

  private static final String MUSIC_PATH = new String( ″ /sdcard/″) ; / /歌曲的路径

4. 3 程序核心代码

接下来设置这些ImageButton 的事件监听。

  mStartImageButton. setOnClickListener(

  new ImageButton. OnClickListener( )

  {

  @ Override public void onClick( View v)

  {

  playMusic( MUSIC_PATH + mMusi-cList. get( currentListItme)

  ) ;

  }

  } ) ;

这是开始播放按钮的事件监听。这里是调用了一个playMusic( ) 方法来实现音乐文件的播放的。

在playMusic( ) 方法中,先调用mMediaPlayer 的reset( ) 方法,重置MediaPlayer 到它的正常状态。然后调用setDataSource( string) 方法设置好音乐文件的数据源,再连续调用prepare( ) 和start( ) 方法,MediaPlayer将开始播放音乐文件。

接下来,要设置一个OnCompletionListener ( setOnCompletionListener( new OnCompletionListener ) ) ,在歌曲结束的时候,onCompletion( MediaPlayer) 会被调用,这样就可以设置为自动播放下一曲目。代码如下。

  mMediaPlayer. setOnCompletionListener(

  new OnCompletionListener( )

  {

  public void onCompletion( MediaPlayer arg0)

  {

  nextMusic( ) ; / /播放下一曲

  }

  } ) ;

其它方法与上面方法类似,在停止按钮的事件响应方法里,要调用mMediaPlayer 的isPlaying( ) 方法来判断播放器是否正在播放,如果正在播放则调用reset( ) 方法直接重置播放器即可。暂停则可以调用mMediaPlayer 的pause( ) 方法,再次开始播放则调用start( )。

5 结束语

手机应用程序开发需要着眼于它的整个体系构架,这是一项复杂的工程。本文先是介绍并分析了Android 系统的层次架构,并在此基础上介绍了Android 应用程序开发的相关技术和基本的开发流程。接下来介绍了Android 为开发人员提供的简单、易用的开发组件MediaPlayer、MediaRecorder等类。最后用具体的应用程序简要说明了Android多媒体应用程序的开发方法。Android 具有极大的开放性和兼容性,相信广大开发者可以借助AndroidSDK 提供的强大技术支持,开发出丰富多彩、极具个性的移动应用。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭