微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Android的多媒体应用开发与研究

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

时间:03-05 来源:互联网 点击:

作。

在实际应用中,常常需要等待系统或者其它应用发出一道指令。在Android 中,充分考虑了这类需求,于是就有了Broadcast Receiver 这样的一个组件。

每个Broadcast Receiver 都可以接收一种或若干种Intent作为触发事件,当一个Broadcast Receiver 被触发后,系统就会通知相应的程序。

3 Android 多媒体API 及开发方法

多媒体---无论是图像、视频还是声音,都早已成为了移动设备受到广泛欢迎的主要原因。而今,手机设备很少会没有摄像头的,而且随着技术的日益更新,越来越多的设备会拥有更为专业的视频性能。用户经常使用手机来拍摄和浏览照片,录制声音和观看视频。

3. 1 Android 提供的多媒体开发框架

Android 软件开发包提供了一系列的方法来处理音视频媒体,包括对于多种媒体类型和格式的支持。

单独的Android 设备和开发人员可以扩展其支持的媒体格式列表。

Open Core 是Android 多媒体开发的核心,所有Android 平台的音频、视频的采集以及播放等操作都是通过它来实现的。程序员可以通过Open Core 方便快速地开发出想要的多媒体应用程序,例如: 录音、播放、回放、视频会议等。Open Core 和框架图如图1 所示。

图1 Open Core 框架图

由图1 可以看出,Open Core 支持的格式有MPEG4、H. 263、MP3、AAC、JPG 等。Open Core 多媒体框架有一套通用可扩展的接口,针对第三方的多媒体编解码器,输入、输出设备等。

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

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

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

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

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

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

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

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

4 示例程序: 播放器

4. 1 布局设计

Android 是通过布局( 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 的事件监听。

mStart

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top