0.1.2 • Published 3 years ago

rn-ali-vod-upload v0.1.2

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

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

  1. 添加以下系统依赖库。

    • AVFoundation.framework
    • CoreMedia.framework
    • SystemConfiguration.framework
    • MobileCoreServices.framework
    • libresolv.9.tbd
  2. 在主工程的 Build PhasesLink Binary With Libraries 中 「+」通过 「Add Other」的 「Add Files」加入 /node_modules/rn-ali-vod-upload/ios/AliyunSDK 下的两个 .framework 文件

  3. 在主工程的 Build Settings 下配置 Framework Search Paths 加入 $(SRCROOT)/../node_modules/rn-ali-vod-upload/ios/AliyunSDK

Android

// 参考工程配置:https://help.aliyun.com/document_detail/100490.html

  1. android/build.gradleallprojectsrepositories 中加入
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
    }
}
  1. android/app/build.gradledependencies 加入
dependencies {
    implementation project(':rn-ali-vod-upload')
    implementation 'com.aliyun.dpa:oss-android-sdk:2.9.5'

}
  1. 配置 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