赞
踩
安卓ffmpeg音视频处理原生插件,支持音视频转换,音视频剪切,添加字幕,添加水印等操作,支持自定义指令,取消指令执行等,功能比较全面,支持RTMP文件推流
安卓ffmpeg音视频处理原生插件 - DCloud 插件市场
const commonModule = uni.requireNativePlugin("leven-ffmpeg-CommonModule");
- <template>
- <view>
- <uni-card title="操作文件">
- <view class="audio-file-box">
- <uni-easyinput v-model="videoPath" placeholder="视频文件路径"></uni-easyinput>
- <button style="margin-left: 10px;" type="primary" @click="selectVideoFile">选择视频文件</button>
- </view>
- <view style="margin-bottom: 5px;"><text style="color: #999999; font-size: 14px;">视频请选择.mp4文件</text></view>
- <view style="margin-bottom: 5px;"><text style="color: #999999; font-size: 14px;">转换后的文件路径:{{dirPath}}</text></view>
- <view><text style="color: #999999; font-size: 14px;">自定义指令内容:{{command}}</text></view>
- </uni-card>
- <uni-card title="公共接口">
- <button type="primary" @click="filePermission">申请文件权限</button>
- <button type="primary" @click="customCommands">自定义指令(以视频翻转为例)</button>
- <button type="primary" @click="cancelCommands">取消执行命令</button>
- <button type="primary" @click="logStr = ''">清空日志</button>
- </uni-card>
- <uni-card class="uni-card-box" title="日志">
- <view><text style="font-size: 14px; flex-wrap: wrap;">{{logStr}}</text></view>
- </uni-card>
- </view>
- </template>
-
- <script>
- const commonModule = uni.requireNativePlugin("leven-ffmpeg-CommonModule");
- export default {
- data() {
- return {
- // 视频文件
- videoPath: "",
- //转换后文件所在目录
- dirPath: "/storage/emulated/0/leven-ffmpeg/",
- // 自定义指令内容
- command: "",
- logStr: "",
- }
- },
- methods: {
- // 选择视频文件
- selectVideoFile() {
- commonModule.selectVideoFile(res => {
- this.writeLog(JSON.stringify(res))
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- this.videoPath = res.data.files[0].path;
- this.command = "ffmpeg -y -i " + this.videoPath + " -vf hflip -c:v libx264 " + this.dirPath + "自定义指令后的文件.mp4";
- }
- })
- },
- // 申请文件权限
- filePermission() {
- commonModule.filePermission(res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 自定义指令
- customCommands() {
- commonModule.customCommands({
- cmd: this.command
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 取消执行命令
- cancelCommands() {
- commonModule.cancelCommands(res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 写日志
- writeLog(str) {
- console.log(str);
- let logStr = uni.$lv.date.format(null, "yyyy-mm-dd hh:MM:ss") + " " + str + "\n";
- this.logStr = logStr + this.logStr;
- },
- }
- }
- </script>
-
- <style>
- .audio-file-box {
- flex-direction: row;
- margin-bottom: 5px;
- }
- </style>
const module = uni.requireNativePlugin("leven-ffmpeg-AudioModule");
- <template>
- <view>
- <uni-card title="操作文件">
- <view class="audio-file-box">
- <uni-easyinput v-model="audioPath" placeholder="音频文件路径"></uni-easyinput>
- <button style="margin-left: 10px;" type="primary" @click="selectAudioFile">选择音频文件</button>
- </view>
- <view class="audio-file-box">
- <uni-easyinput v-model="videoPath" placeholder="视频文件路径"></uni-easyinput>
- <button style="margin-left: 10px;" type="primary" @click="selectVideoFile">选择视频文件</button>
- </view>
- <view style="margin-bottom: 5px;"><text style="color: #999999; font-size: 14px;">音频请选择.mp3,视频请选择.mp4文件</text></view>
- <view><text style="color: #999999; font-size: 14px;">转换后的文件路径:{{dirPath}}</text></view>
- </uni-card>
- <uni-card title="音频操作">
- <button type="primary" @click="transformAudio">音频转码</button>
- <button type="primary" @click="cutAudio">音频剪切</button>
- <button type="primary" @click="concatAudio">音频拼接</button>
- <button type="primary" @click="mixAudio">混音</button>
- <button type="primary" @click="changeVolume">更改音频音量</button>
- <button type="primary" @click="extractAudio">从视频文件抽取音频</button>
- <button type="primary" @click="decodeAudio">音频解码PCM</button>
- <button type="primary" @click="encodeAudio">音频编码</button>
- <button type="primary" @click="audioFadeIn">音频淡入</button>
- <button type="primary" @click="audioFadeOut">音频淡出</button>
- <button type="primary" @click="audio2Amr">音频转amr</button>
- <button type="primary" @click="audioInfo">获取音频信息</button>
- <button type="primary" @click="logStr = ''">清空日志</button>
- </uni-card>
- <uni-card class="uni-card-box" title="日志">
- <view><text style="font-size: 14px; flex-wrap: wrap;">{{logStr}}</text></view>
- </uni-card>
- </view>
- </template>
-
- <script>
- const commonModule = uni.requireNativePlugin("leven-ffmpeg-CommonModule");
- const module = uni.requireNativePlugin("leven-ffmpeg-AudioModule");
- export default {
- data() {
- return {
- // 音频文件
- audioPath: "",
- // 视频文件
- videoPath: "",
- //转换后文件所在目录
- dirPath: "/storage/emulated/0/leven-ffmpeg/",
- // 当前选择的文件名称
- audioName: "",
- logStr: "",
- }
- },
- methods: {
- // 选择音频文件
- selectAudioFile() {
- commonModule.selectAudioFile(res => {
- this.writeLog(JSON.stringify(res))
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- this.audioPath = res.data.files[0].path;
- this.audioName = res.data.files[0].name.replace(".mp3", "");
- }
- })
- },
- // 选择音频文件
- selectVideoFile() {
- commonModule.selectVideoFile(res => {
- this.writeLog(JSON.stringify(res))
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- this.videoPath = res.data.files[0].path;
- }
- })
- },
- // 申请文件权限
- filePermission() {
- commonModule.filePermission(res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频转码
- transformAudio() {
- module.transformAudio({
- //源文件
- src: this.audioPath,
- // 目标文件
- target: this.dirPath + "转码后的音频.aac"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频剪切
- cutAudio() {
- module.cutAudio({
- //类型,1.根据时长剪切,2.根据结束时间剪切
- type: 2,
- //源文件
- src: this.audioPath,
- // 目标文件
- target: this.dirPath + "剪切后的音频.mp3",
- //开始剪切时间
- startTime: 60,
- //时长(type=1时有效)
- duration: 60,
- //剪切结束时间(type=2时有效)
- endTime: 120
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频拼接
- concatAudio() {
- commonModule.selectAudioFile(res => {
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- let path = res.data.files[0].path;
- module.concatAudio({
- //源文件
- src: this.audioPath,
- //拼接文件
- append: path,
- // 目标文件
- target: this.dirPath + "拼接后的音频.mp3"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- }
- })
- },
- // 音频混合
- mixAudio() {
- commonModule.selectAudioFile(res => {
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- let path = res.data.files[0].path;
- module.mixAudio({
- //源文件
- src: this.audioPath,
- //混合文件
- mix: path,
- // 目标文件
- target: this.dirPath + "混音后的音频.mp3"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- }
- })
- },
- // 更改音频音量
- changeVolume() {
- module.changeVolume({
- //类型,1.固定音量(单位DB),2.音量的倍数
- type: 2,
- //源文件
- src: this.audioPath,
- //音量值
- // value: 20,
- //音量值(不定音量需要传整形,音量的倍数可以是浮点型)
- value: 1.5,
- // 目标文件
- target: this.dirPath + "更改音频音量后的音频.mp3"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 抽取音频
- extractAudio() {
- module.extractAudio({
- //源文件
- src: this.videoPath,
- // 目标文件(只能是aac格式)
- target: this.dirPath + "抽取音频后的音频.aac"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频解码
- decodeAudio() {
- module.decodeAudio({
- //源文件
- src: this.audioPath,
- // 目标文件(只能是pcm格式)
- target: this.dirPath + "解码后的音频.pcm",
- //采样率
- sampleRate: 44100,
- // 声道:1.单声道,2.立体声道
- channel: 2
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频编码
- encodeAudio() {
- module.encodeAudio({
- //源文件(只能是pcm格式)
- src: this.dirPath + "解码后的音频.pcm",
- // 目标文件
- target: this.dirPath + "编码后的音频.wav",
- //采样率
- sampleRate: 44100,
- // 声道:1.单声道,2.立体声道
- channel: 2
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频淡入
- audioFadeIn() {
- module.audioFadeIn({
- //源文件
- src: this.audioPath,
- // 目标文件
- target: this.dirPath + "音频淡入后的音频.mp3",
- //淡入时长,单位:秒
- duration: 5
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频淡出
- audioFadeOut() {
- module.audioFadeOut({
- //源文件
- src: this.audioPath,
- // 目标文件
- target: this.dirPath + "音频淡出后的音频.mp3",
- //淡出时长,单位:秒
- duration: 10
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音频转amr
- audio2Amr() {
- module.audio2Amr({
- //源文件
- src: this.audioPath,
- // 目标文件
- target: this.dirPath + "音频转amr后的音频.amr"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 获取音频信息
- audioInfo() {
- module.audioInfo({
- //源文件
- src: this.audioPath
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 写日志
- writeLog(str) {
- console.log(str);
- let logStr = uni.$lv.date.format(null, "yyyy-mm-dd hh:MM:ss") + " " + str + "\n";
- this.logStr = logStr + this.logStr;
- },
- // 获取文件的目录
- getFileDir() {
-
- }
- }
- }
- </script>
-
- <style>
- .audio-file-box {
- flex-direction: row;
- margin-bottom: 5px;
- }
- </style>
const module = uni.requireNativePlugin("leven-ffmpeg-VideoModule");
- <template>
- <view>
- <uni-card title="操作文件">
- <view class="audio-file-box">
- <uni-easyinput v-model="waterPath" placeholder="水印文件路径"></uni-easyinput>
- <button style="margin-left: 10px;" type="primary" @click="selectImageFile">选择水印文件</button>
- </view>
- <view class="audio-file-box">
- <uni-easyinput v-model="videoPath" placeholder="视频文件路径"></uni-easyinput>
- <button style="margin-left: 10px;" type="primary" @click="selectVideoFile">选择视频文件</button>
- </view>
- <view style="margin-bottom: 5px;"><text style="color: #999999; font-size: 14px;">水印请选择.png,视频请选择.mp4文件</text></view>
- <view><text style="color: #999999; font-size: 14px;">转换后的文件路径:{{dirPath}}</text></view>
- </uni-card>
- <uni-card title="视频操作">
- <button type="primary" @click="transformVideo">视频转码</button>
- <button type="primary" @click="extractVideo">从视频文件抽取视频(无声音)</button>
- <button type="primary" @click="mixAudioVideo">音视频合成</button>
- <button type="primary" @click="cutVideo">视频剪切</button>
- <button type="primary" @click="concatVideo">视频拼接</button>
- <button type="primary" @click="screenShot">视频封面</button>
- <button type="primary" @click="frame2Image">视频某一帧的图片</button>
- <button type="primary" @click="video2Image">视频转图片</button>
- <button type="primary" @click="waterMarkImage">添加水印图片</button>
- <button type="primary" @click="video2Gif">视频转成Gif</button>
- <!-- <button type="primary" @click="screenRecord">屏幕录制</button> -->
- <button type="primary" @click="image2Video">图片合成视频</button>
- <button type="primary" @click="multiVideo">多画面拼接</button>
- <button type="primary" @click="reverseVideo">视频反序倒播</button>
- <button type="primary" @click="denoiseVideo">视频降噪</button>
- <button type="primary" @click="picInPicVideo">画中画</button>
- <button type="primary" @click="videoScaleMultiple">视频倍数缩放</button>
- <button type="primary" @click="videoScaleWidthHeight">视频宽高缩放</button>
- <button type="primary" @click="videoSpeed">视频倍速播放</button>
- <button type="primary" @click="video2Yuv">视频转yuv</button>
- <button type="primary" @click="yuv2H264">YUV转H264</button>
- <button type="primary" @click="video2HLS">视频切片</button>
- <button type="primary" @click="hls2Video">切片合成视频</button>
- <button type="primary" @click="videoParams">参数调节(亮度,对比度,饱和度)</button>
- <button type="primary" @click="videoRotation">视频旋转</button>
- <button type="primary" @click="videoFlip">视频翻转</button>
- <button type="primary" @click="videoInfo">获取视频信息</button>
- <button type="primary" @click="logStr = ''">清空日志</button>
- </uni-card>
- <uni-card class="uni-card-box" title="日志">
- <view><text style="font-size: 14px; flex-wrap: wrap;">{{logStr}}</text></view>
- </uni-card>
- </view>
- </template>
-
- <script>
- const commonModule = uni.requireNativePlugin("leven-ffmpeg-CommonModule");
- const module = uni.requireNativePlugin("leven-ffmpeg-VideoModule");
- export default {
- data() {
- return {
- // 水印文件
- waterPath: "",
- // 视频文件
- videoPath: "",
- //转换后文件所在目录
- dirPath: "/storage/emulated/0/leven-ffmpeg/",
- // 当前选择的文件名称
- audioName: "",
- logStr: "",
- }
- },
- methods: {
- // 选择水印文件
- selectImageFile() {
- commonModule.selectImageFile(res => {
- this.writeLog(JSON.stringify(res))
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- this.waterPath = res.data.files[0].path;
- }
- })
- },
- // 选择视频文件
- selectVideoFile() {
- commonModule.selectVideoFile(res => {
- this.writeLog(JSON.stringify(res))
- if (res.code == 0 && res.data && res.data.files && Array.isArray(res.data.files) && res.data.files.length > 0) {
- this.videoPath = res.data.files[0].path;
- }
- })
- },
- // 视频转码
- transformVideo() {
- module.transformVideo({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "转码后的视频.avi"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 抽取视频
- extractVideo() {
- module.extractVideo({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "抽取后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 音视频合成
- mixAudioVideo() {
- module.mixAudioVideo({
- //视频源文件
- videoSrc: this.dirPath + "抽取后的视频.mp4",
- //音频源文件
- audioSrc: this.dirPath + "抽取音频后的音频.aac",
- // 目标文件
- target: this.dirPath + "音视频合成后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频剪切
- cutVideo() {
- module.cutVideo({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "剪切后的视频.mp4",
- // 剪切开始时间(单位:秒)
- startTime: 0,
- // 剪切时长(单位:秒)
- duration: 5,
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频拼接
- concatVideo() {
- module.concatVideo({
- //源文件
- src: this.videoPath,
- // 拼接的视频
- append: this.videoPath,
- // 目标文件
- target: this.dirPath + "拼接后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频拼接
- screenShot() {
- module.screenShot({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频的截图.jpg",
- // 截图宽度,可以不传,默认:0(按视频宽度)
- width: 0,
- // 截图高度,可以不传,默认:0(按视频高度)
- height: 0
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频某一帧的图片
- frame2Image() {
- module.frame2Image({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频某一帧的图片的截图.jpg",
- // 某一帧的时间,格式:hh:mm:ss.xxx
- time: "00:00:05.123"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频转图片
- video2Image() {
- module.video2Image({
- //源文件
- src: this.videoPath,
- // 目标文件夹
- target: this.dirPath + "video2Image/",
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 添加水印图片
- waterMarkImage() {
- module.waterMarkImage({
- //源文件
- src: this.videoPath,
- //水印文件
- water: this.waterPath,
- // 目标文件夹
- target: this.dirPath + "添加水印后的视频.mp4",
- // 水印位置,1.左上角(默认),2.右上角,3.右下角,4.左下角
- position: 2
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频转gif
- video2Gif() {
- module.video2Gif({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频转gif后的图片.gif",
- //开始时间,单位:秒
- startTime: 0,
- // 时长,单位:秒
- duration: 5
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 图片转视频
- image2Video() {
- module.image2Video({
- //源文件(图片列表的文件夹)
- src: this.dirPath + "video2Image/",
- // 目标文件
- target: this.dirPath + "图片转视频后的视频.mp4",
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 多画面拼接
- multiVideo() {
- module.multiVideo({
- //源文件
- src: this.videoPath,
- //要拼接的文件
- append: this.videoPath,
- // 目标文件
- target: this.dirPath + "多画面拼接后的视频.mp4",
- // 布局方向,1.横向拼接,2.垂直拼接
- direction: 1
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频反序倒播
- reverseVideo() {
- module.reverseVideo({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频反序倒播后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频降噪
- denoiseVideo() {
- module.denoiseVideo({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频降噪后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 画中画
- picInPicVideo() {
- module.picInPicVideo({
- //源文件
- src: this.videoPath,
- //画中画文件
- append: this.videoPath,
- // 画中画宽度
- width: 300,
- // 画中画高度
- height: 200,
- // 画中画位置,1.左上角(默认),2.右上角,3.右下角,4.左下角
- position: 2,
- // 目标文件
- target: this.dirPath + "画中画后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频倍数缩放
- videoScaleMultiple() {
- module.videoScaleMultiple({
- //源文件
- src: this.videoPath,
- // 类型,1.缩小,2.放大
- type: 1,
- // 缩放的倍数
- value: 2,
- // 目标文件
- target: this.dirPath + "视频倍数缩放后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频宽高缩放
- videoScaleWidthHeight() {
- module.videoScaleWidthHeight({
- //源文件
- src: this.videoPath,
- // 宽度,-1.高度等比例缩放
- width: 200,
- // 高度,-1.宽度等比例缩放
- height: 300,
- // 目标文件
- target: this.dirPath + "视频宽高缩放后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频倍数播放
- videoSpeed() {
- module.videoSpeed({
- //源文件
- src: this.videoPath,
- // 播放速度,取值范围:[0.25,4] 小于1快速播放,大于1慢速播放
- speed: 2,
- // 目标文件
- target: this.dirPath + "视频倍数播放后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频转YUV
- video2Yuv() {
- module.video2Yuv({
- //源文件
- src: this.videoPath,
- // 目标文件
- target: this.dirPath + "视频转YUV后的文件.yuv"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // YUV转H264
- yuv2H264() {
- module.yuv2H264({
- //源文件
- src: this.dirPath + "视频转YUV后的文件.yuv",
- // 转换后的宽度,默认:720
- width: 720,
- // 转换后的高度,默认:1280
- height: 1280,
- // 目标文件
- target: this.dirPath + "YUV转H264后的文件.h264"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频切片
- video2HLS() {
- module.video2HLS({
- //源文件
- src: this.videoPath,
- // 切片时长
- splitTime: 5,
- // 目标文件
- target: this.dirPath + "hls/切片文件.m3u8"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 切片合成视频
- hls2Video() {
- module.hls2Video({
- //切片文件
- src: this.dirPath + "hls/切片文件.m3u8",
- // 目标文件
- target: this.dirPath + "切片合成的视频后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频参数调节
- videoParams() {
- module.videoParams({
- //源文件
- src: this.videoPath,
- // 亮度,有效值[-1.0,1.0],默认:0
- bright: 0.1,
- //对比度,有效值[-2.0,2.0],默认:0
- contrast: 0.9,
- // 饱和度,有效值[0,3.0],默认:1
- saturation: 3,
- // 目标文件
- target: this.dirPath + "视频参数调节后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频旋转
- videoRotation() {
- module.videoRotation({
- //源文件
- src: this.videoPath,
- // 旋转类型,1.顺时针旋转画面90度,2.逆时针旋转画面90度,3.顺时针旋转画面90度再水平翻转, 0.逆时针旋转画面90度水平翻转
- transpose: 1,
- // 目标文件
- target: this.dirPath + "视频旋转后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 视频翻转
- videoFlip() {
- module.videoFlip({
- //源文件
- src: this.videoPath,
- // 翻转类型,1.水平翻转,2.垂直翻转
- type: 1,
- // 目标文件
- target: this.dirPath + "视频翻转后的视频.mp4"
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 获取视频信息
- videoInfo() {
- module.videoInfo({
- //源文件
- src: this.videoPath
- }, res => {
- this.writeLog(JSON.stringify(res))
- })
- },
- // 写日志
- writeLog(str) {
- console.log(str);
- let logStr = uni.$lv.date.format(null, "yyyy-mm-dd hh:MM:ss") + " " + str + "\n";
- this.logStr = logStr + this.logStr;
- },
- // 获取文件的目录
- getFileDir() {
-
- }
- }
- }
- </script>
-
- <style>
- .audio-file-box {
- flex-direction: row;
- margin-bottom: 5px;
- }
- </style>
具体方法的使用请参考使用说明文档
购买插件前请先试用,试用通过再购买。在试用中如果遇到任何问题,可与作者联系,QQ:334106817,将全力协助你使用本插件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。