dependencies {
implementation project(':AliyunSdk-RCE')
}
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir "src/main/jniLibs"
}
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
System.loadLibrary("live-openh264");
System.loadLibrary("QuCore-ThirdParty");
System.loadLibrary("QuCore");
}
}
private void choiceVideo() {
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 66);
}
try {
if (path != null) {
mmr.setDataSource(path);
}
duration = mmr.extractMetadata(android.media.MediaMetadataRetriever.METADATA_KEY_DURATION);
} catch (Exception ex) {
} finally {
mmr.release();
}
3. 实例化aliyun提供的api AliyunIThumbnailFetcher,设置params 生成的缩略图的大小,之后调用requestThumbnailImage,传入要获取某一duration时间点,通过回调方法onThumbnailReady获取com.aliyun.common.media.ShareableBitmap
AliyunIThumbnailFetcher mThumbnailFetcher = AliyunThumbnailFetcherFactory.createThumbnailFetcher();
...
if (!path.equalsIgnoreCase("")) {
mThumbnailFetcher.addVideoSource(path, 0, duration);
}
...
int ret = mThumbnailFetcher.setParameters(width, 240, AliyunIThumbnailFetcher.CropMode.Mediate, ScaleMode.LB, 300);
new AliyunIThumbnailFetcher.OnThumbnailCompletion() {
@Override
public void onThumbnailReady(com.aliyun.common.media.ShareableBitmap shareableBitmap, long l) {
Log.v(TAG, "getThumbNail callback time = " + l);
ImageView thumbnail = (ImageView) findViewById(R.id.thumbnail);
thumbnail.setImageBitmap(shareableBitmap.getData());
}
@Override
public void onError(int code) {
Log.e(TAG, "getThumbNail error code = " + code);
}
});
视频地址:
http://v.youku.com/v_show/id_XMzU4NTkxNzA5Mg==.html?spm=a2hww.20027244.uerCenter.5!3~5~5!2~5~DL~DD~A