20110510 Brew工程师培训笔记——第十九章 多媒体接口

    技术2022-05-14  3

    第十九章 多媒体接口

     

    一、主要内容

    (1)、多媒体格式

    (2)、多媒体架构

    (3)、多媒体接口

    (a)ISound

    (b)ISoundPlayer

    (c)IMedia/MediaUtil

    (d)ICamera

    (e)IVocoder

    二、多媒体格式

    (1)、常见格式:MIDI/CMX/SMAF/QCP/MP3/MP4 …

    (2)、同时播放几个音频文件

    (a)、IMEDIA_EnableChannelShare(pMedia, TRUE); // BREW SDK 2.1 or above

    (b)、SMAF/Phrase格式

    (c)、IMediaMIDIOutMsg / IMediaMIDIOutQCP 使用MIDI设备同时播放几个MIDI or QCP文件

    (d)、必须同一格式文件

    三、多媒体架构

    (1)、IMedia接口为所有BREW多媒体对象提供了一个抽象基类,开发者通过IMedia接口可以进行所有多媒体对象的操作

    (2)、派生类负责特定多媒体格式的处理,分别对应着MIDI、MP3、MPEG4、ADPCM等格式的相关操作。

    (3)、AEEMediaData数据结构封装了媒体数据

    (a)、Source or destination

    (b)、File, buffer or stream (ISource)

    (4)、AEEMediaUtil_CreateMedia()函数为系统提供的一个辅助函数,自动根据输入的媒体数据判断媒体类型,创建IMedia对象。

    四、IMedia接口使用

    (1)、SHELL注册MIME类型;

    (2)、创建IMedia对象;

    (3)、注册回调函数;

    (4)、播放/录音操作

    (5)、处理EVT_APP_SUSPEND/EVT_APP_RESUME事件

    (6)、删除IMedia对象;

    五、IMedia接口概览

    (1)、Media Setup

    (a)、IMEDIA_SetMediaData()

    (b)、IMEDIA_RegisterNotify()

    (2)、Playback / Record

    (a)、IMEDIA_Play()

    (b)、IMEDIA_Record()

    (3)、Playback / Record Controls

    (a)、IMEDIA_Stop()

    (b)、IMEDIA_Pause() / IMEDIA_Resume()

    (c)、IMEDIA_Seek()

    (4)、Media Parameters

    (a)、IMEDIA_SetMediaParam()

    (b)、IMEDIA_GetMediaParam()

    (c)、IMEDIA_GetState()

    六、IMedia状态机

    七、IMedia实现

    八、IMediaUtil接口

    (1)、Provides media utility services

    (a)、IMEDIAUTIL_CreateMedia(): Creates IMedia object based on media data, same as AEEMediaUtil_CreateMedia();

    (b)、IMEDIAUTIL_EncodeMedia(): Simple API to encode new media

    Example: IMEDIAUTIL_EncodePMD() combines JPEG and QCP to encode a PMD

    九、ISound功能

    (1)、Beeps

    (2)、FreqTone

    (3)、预设铃音

    (4)、震动模式

    十、播放预置铃音

    播放预置铃音的基本步骤

    (1)、创建一个AEESoundToneData结构

    (2)、设定待播放铃音

    (3)、设定播放时间(毫秒)

    (4)、调用ISOUND_PlayTone()函数

    十一、ISound接口常用调用

    ISOUND_PlayTone()

    ISOUND_StopTone()

    ISOUND_PlayToneList()

    ISOUND_PlayFreqTone()

    ISOUND_SetVolume()

    ISOUND_GetVolume()

    ISOUND_Set()

    ISOUND_Get()

    ISOUND_Vibrate()

    ISOUND_StopVibrate()

    十二、本章关键点

    (1)、多媒体格式

    (2)、多媒体架构

    (3)、IMedia/IMediaUtil接口使用

    (4)、ISound接口使用

    十三、问题回顾

    (1)BREW支持哪些多媒体格式?

    (2)BREW支持哪些多媒体接口?

    (3)、有哪几种同时播放音效的方法?

    (4)、描述IMedia接口的用法

    (5)、描述ISound接口的用法


    最新回复(0)