0.1.2 • Published 3 years ago
rn-ali-vod-upload v0.1.2
rn-ali-vod-upload
Getting started
$ npm install rn-ali-vod-upload --save
Mostly automatic installation
$ react-native link rn-ali-vod-upload
Manual installation
iOS
//参考工程配置:https://help.aliyun.com/document_detail/100448.html
添加以下系统依赖库。
- AVFoundation.framework
- CoreMedia.framework
- SystemConfiguration.framework
- MobileCoreServices.framework
- libresolv.9.tbd
在主工程的
Build Phases
的Link Binary With Libraries
中 「+」通过 「Add Other」的 「Add Files」加入/node_modules/rn-ali-vod-upload/ios/AliyunSDK
下的两个.framework
文件在主工程的
Build Settings
下配置Framework Search Paths
加入$(SRCROOT)/../node_modules/rn-ali-vod-upload/ios/AliyunSDK
Android
// 参考工程配置:https://help.aliyun.com/document_detail/100490.html
- 在
android/build.gradle
的allprojects
的repositories
中加入
allprojects {
repositories {
maven { url 'https://jitpack.io' }
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
}
}
- 在
android/app/build.gradle
的dependencies
加入
dependencies {
implementation project(':rn-ali-vod-upload')
implementation 'com.aliyun.dpa:oss-android-sdk:2.9.5'
}
- 配置
AndroidManifest.xml
加入以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
Usage
uploadVideo 上传视频
import RNAliVodUpload from 'rn-ali-vod-upload';
const emitters = [];
const arrayLen = emitters.push(
RNAliVodUploadEmitter.addListener('OnUploadProgress', (result) => {
console.log(result);
})
);
const emitterIdx = arrayLen - 1;
const vodConfig = {
title: 'test',
desc: ' ',
cateId: 1,
tags: ' ',
templateGroupId: 'test',
isShowWaterMark: true,
};
RNAliVodUpload.uploadVideo({
path: filePath,
...vodConfig,
expriedTime,
accessKeyId,
accessKeySecret,
securityToken,
})
.then((res) => {
removeEmitter(emitters, emitterIdx);
return res.videoId;
})
.catch((err) => {
removeEmitter(emitters, emitterIdx);
if (err.code === '401') {
}
console.log('上传err:', err);
opts.onError(err);
});
function removeEmitter(emitters, emitterIdx) {
const removedEmitter = emitters.splice(emitterIdx, 1)[0];
removedEmitter.remove();
}
getFirstFrameImage 获取第一帧图片
RNAliVodUpload.getFirstFrameImage(video.path.replace('file://', ''))
.then((res) => {
console.log('success', res);
alert(res);
})
.catch((err) => {
console.log('err', err.code, err.message);
});
常见问题
...
0.1.2
3 years ago
0.1.0
3 years ago
0.1.0-beta.9
3 years ago
0.1.0-beta.8
3 years ago
0.1.0-beta.7
3 years ago
0.1.0-beta.6
3 years ago
0.1.0-beta.5
3 years ago
0.1.0-beta.4
3 years ago
0.1.0-beta.3
3 years ago
0.1.0-beta.2
3 years ago
0.1.0-beta.1
3 years ago
0.1.0-beta.0
3 years ago