MMs. uri 到 MediaModel . 彩信的各种mediaModel

彩信的媒体大概是这样:
WorkingMessage里有个SlideshowModel
SlideshowModel里一队列SlideModel
SlideModel 是一个队列的MediaModel
MediaModel,可以衍生出AudioModel,RegionMediaModel。
RegionMediaModel包含TextModel,ImageModel,VideoModel这三个分类。

创建MediaModel的构造函数

public MediaModel(Context context, String tag, String contentType,
String src, Uri uri) throws MmsException {
mContext = context;
mTag = tag;
mContentType = contentType;
mSrc = src;
mUri = uri;
initMediaSize();
mMediaActions = new ArrayList<MediaAction>();
}


public MediaModel(Context context, String tag, String contentType,
String src, byte[] data) {
if (data == null) {
throw new IllegalArgumentException("data may not be null.");
}

mContext = context;
mTag = tag;
mContentType = contentType;
mSrc = src;
mData = data;
mSize = data.length;
mMediaActions = new ArrayList<MediaAction>();
}


public MediaModel(Context context, String tag, String contentType,
String src, DrmWrapper wrapper) throws IOException {
mContext = context;
mTag = tag;
mContentType = contentType;
mSrc = src;
mDrmObjectWrapper = wrapper;
mUri = DrmUtils.insert(context, wrapper);
mSize = wrapper.getOriginalData().length;
mMediaActions = new ArrayList<MediaAction>();
}


mediaModel里面比较重要的的几个成员:

protected String mTag;
protected String mSrc;
protected String mContentType;
private Uri mUri;
private byte[] mData;
protected int mSize;


Tag是类型标签。在SmilHelper里。

public static final String ELEMENT_TAG_TEXT = "text";
public static final String ELEMENT_TAG_IMAGE = "img";
public static final String ELEMENT_TAG_AUDIO = "audio";
public static final String ELEMENT_TAG_VIDEO = "video";
public static final String ELEMENT_TAG_REF = "ref";

mSrc 文件名
mContentType在frameworks/base/core/java/com/google/android/mms/ContentType里定义,比如
public static final String TEXT_PLAIN = "text/plain";
public static final String TEXT_HTML = "text/html";
public static final String IMAGE_JPEG = "image/jpeg";
public static final String IMAGE_JPG = "image/jpg";
public static final String VIDEO_UNSPECIFIED = "video/*";
public static final String VIDEO_3GPP = "video/3gpp";

uri不说了。
data 是byte[] 的数据
size是文件长度。


彩信的单个附件的uri,
从onActivityResult得到。


像拍照片的uri来的最容易,是Uri uri = Uri.fromFile(file);
是已经有了file,再来得到uri..太邪恶了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值