集成短视频SDK和多媒体(顽兔)SDK,从而支持短视频的录制和上传功能。
绑定新申请或已有的多媒体(顽兔)空间,用于存储上传的短视频。由于多媒体(顽兔)空间是百川多媒体的增值服务,目前一个APP仅提供总共20G的免费存储空间和每月20G的流量,超过部分开发者需要向百川多媒体服务续费。费用和绑定空间具体细节请遵照绑定多媒体(顽兔)空间文档操作(必须注意IM登录的appkey和绑定的多媒体空间的appkey必须一致,否则会认为没有绑定过;另外账户必须确保已经在顽兔多媒体的控制台实名认证,没有的话需要进行实名认证,否则影响视频上传),文档在百川开发者控制台(请用百川开发者账号登陆),侧边栏依次选择我的产品后台->百川即时通讯(若未开通请申请开通)->视频功能设置
短视频功能依赖于百川多媒体(顽兔)SDK和短视频SDK,因此必须完成下面两个子步骤。
1、百川控制台生成云旺SDK时,勾选上百川多媒体(顽兔),配置您的主工程使用library工程方式依赖OneSDK。
2、下载短视频SDK,配置您的主工程使用library工程方式依赖短视频SDK。
默认在建立短视频的工程依赖后,单聊会出现短视频发送item,群聊不会。更多显示控制请参照注意事项1和2,并参杂Demo源码中ChattingOperationCustomSample的getCustomReplyBarItemList的自定义示例,并通过conversationType区分群聊和单聊场景,然后设置显示短视频item。
**完成上述步骤,恭喜您已经完成了短视频功能的集成。
录制时间最长为15秒
录制时间15s情况下视频大小在几十KB到几M之间(大小主要受相同桢数量、摄像头像素的影响)。
目前短视频功能及界面暂不提供自定义
1、群聊新老版本兼容问题。
群聊场景,Android端IMCore1.9.7及以前的老版本若收到短视频消息,会显示一段json结构的文字消息。此为已知问题,老版本已经发布导致无法修正这个现象。若群聊场景需要短视频功能,建议先铺量集成IMCore1.9.8及以后的版本至较高比例(比如90%),再打开群聊场景发送短视频的功能;若不需要群聊短视频请参照第3点注意事项关闭群聊场景回复栏中短视频item的显示。
2、单聊新老版本兼容问题。
单聊场景,Android端IMCore1.9.7及以前的老版本若收到短视频消息,会显示一条提示升级新版本的文字消息。
3、设置隐藏或显示回复栏中的短视频按钮。
请参杂Demo源码中ChattingOperationCustomSample中getCustomReplyBarItemList的代码示例,通过conversationType区分群聊和单聊场景,并设置是否显示短视频按钮以及点击事件等。
1.建立工程结构后构建时,报类似如下错误
Main manifest has <uses-sdk android:targetSdkVersion='14'> but library uses targetSdkVersion='23' Note: main manifest lacks a <uses-sdk android:targetSdkVersion> declaration, which defaults to value minSdkVersion or 1.
请在您的主工程AndroidManifest中的uses-sdk中增加tools:overrideLibrary配置,类似如下示例
<uses-sdk android:minSdkVersion="14" tools:overrideLibrary="com.taobao.taorecorder,com.taobao.taorecorde_sdk"/>
2.建立工程结构后构建时,报类似如下错误
Main manifest has <application android:name='com.taobao.openimui.demo.DemoApplication'> but library uses name='com.taobao.TBAVRecorderApplication'.
请在您的主工程AndroidManifest中的application中增加tools:replace配置,类似如下示例
<application android:name="com.taobao.openimui.demo.DemoApplication" android:icon="@drawable/app_logo" android:label="@string/app_name" android:theme="@style/AppTheme" tools:replace="android:name">
3、绑定空间成功显示已开通,仍然出现-10,让您绑定空间的提示
如果IM登录的appkey和多媒体空间绑定的appkey不一致,会出现这个错误,请保证两个appkey是一致的。(如果是集成友盟即使通讯的情况,由于账号没有完全打通,还没有发布的情况建议使用百川appkey登录,具体可咨询友盟)
4、点击短视频录制按钮时,报类似如下错误
W/IMMediaTools(1460): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://svideo.m.taobao.com/av/imrecorder.html pkg=com.taobao.taorecorder (has extras) }
请将短视频SDK中AndroidManifest.xml中声明的activity全部拷贝到主工程
5、发送视频出现 403 NotAllowedFileType 错误
请登陆[百川开发者控制台](请用百川开发者账号登陆),侧边栏选择百川密钥,如果appkey和开发应用时配置的appkey相同,那么在侧边栏选择实名认证,进行实名认证。因为未进行实名认证的账号百川顽兔目前会限制视频上传(2M以上的视频上传会失败,2M以下的可能会失败)。
IMCore集成方式仅提供了短视频消息发送的接口,不包含短视频录制和短视频上传。开发者可以灵活选择自己的视频录制SDK(目前已支持的视频格式是mp4)和上传SDk。
YWMessage msg = YWMessageChannel.createShortVideoMessage(videoPath, framePicPath, videoDuration, videoSize, framePicWidth, framePicHeight); mConversation.getMessageSender().sendMessage(msg, 120, callback);
1.能够录制出mp4格式的视频
2.录制完成后能够取出videoPath、framePicPath、videoDuration、videoSize、framePicWidth、framePicHeight等参数供发送视频消息使用
1.如果使用自己的上传SDK,videoPath和framePicPath请传http地址,SDK仅完成发送。上传SDK返回的地址需满足:1)视频下载地址以http开头且以mp4为后缀;2) 首帧图片下载地址以http开头且以jpg为后缀
2.如果使用百川多媒体的顽兔上传SDK,videoPath和framePicPath传本地路径,SDK内部会完成上传和发送。同时必须完成下面两个步骤
Step1 多媒体(顽兔)空间绑定 绑定新申请或已有的多媒体(顽兔)空间,用于存储上传的短视频。由于多媒体(顽兔)空间是百川多媒体的增值服务,目前一个APP仅提供总共20G的免费存储空间和每月20G的流量,超过部分需要开发者需要向百川多媒体服务续费。费用和绑定空间具体细节请遵照绑定多媒体(顽兔)空间文档操作,文档在[百川开发者控制台](请用百川开发者账号登陆),侧边栏依次选择基础技术开放管理->即时通讯服务->视频功能设置。 Step2 顽兔上传SDK依赖建立 百川控制台生成云旺SDK时,勾选上百川多媒体(顽兔),配置您的主工程使用library工程方式依赖OneSDK。