玩九网络 > 陪玩APP源码下载 > 短视频上传功能的源码分享

短视频上传功能的源码分享

发布来源: 玩九网络 发布人: 玩九网络 时间: 2022-09-21 18:44:33

现在只要是有社交功能app都会涉及到图片或者视频上传的部分,现在的人们碎片化的时间越来越多,首尔刷刷别人分享的内容是非常常见的消耗时间的方式。

 

而对于app来说,有一个类似于“广告”或是“朋友圈”的功能能够大大拉长用户的使用时间,创造更多可能。

 

那么要怎么实现短视频上传到app呢?

 

//上传视频
    private void uploadVideo(String fileName, String uploadFilePath, long size, int width, int height,
                             String content, String topic_id, String money, String number, String rule,
                             String condition, String likenum, String is_reward, String reward_skill, String reward_server,
                             String reward_money, String reward_number, String dayType, String svctm, String password, boolean isShowRed, boolean isShowReward) {
        String dirname = DateTimeUtil.milliTimeStamp2Date(System.currentTimeMillis() + "", "yyyy-MM-dd");
        String fileDestination = dirname + "/" + fileName;
        PutObjectRequest put = new PutObjectRequest(Constants.OSS_BUCKET_NAME, fileDestination, uploadFilePath);
        // 设置文件元信息为可选操作。
        ObjectMetadata metadata = new ObjectMetadata();
        // 设置object的访问权限为公共读
        metadata.setHeader("x-oss-object-acl", "public-read");
        // 设置object的归档类型为标准存储
        metadata.setHeader("x-oss-storage-class", "Standard");
        // 设置覆盖同名目标Object
        metadata.setHeader("x-oss-forbid-overwrite", "true");
        put.setMetadata(metadata);
        try {
            PutObjectResult putResult = oss.putObject(put);
            String RequestId = putResult.getRequestId();
            if (!TextUtils.isEmpty(RequestId)) {
                String path = NewHttpConstants.OSS_HOST + "/" + fileDestination;
                //视频路径
                JSONObject videoObject = new JSONObject();
                videoObject.put("type", 2);
                videoObject.put("attachment", fileDestination);
                videoObject.put("filePath", path);
                videoObject.put("fileType", "mp4");
                attachmentList.add(videoObject);
                Bitmap finalBitmap = VideoBitmapUtil.createVideoThumbnail(path, MediaStore.Images.Thumbnails.MINI_KIND);
                assert finalBitmap != null;
                Bitmap bitmap = VideoBitmapUtil.compressImage(finalBitmap);
                String savePath = ToolsUtils.saveImageToGallery(PublishDynamicActivity.this, finalBitmap);
                long fileSize = Utils.getBitmapSize(bitmap);
                int fileWight = bitmap.getWidth();
                int fileHeight = bitmap.getWidth();
                String filename = System.currentTimeMillis() + ".png";
                uploadVideoImg(filename, savePath, fileSize, fileWight, fileHeight, content, topic_id, money, number, rule, condition, likenum, is_reward,
                        reward_skill, reward_server, reward_money, reward_number, dayType, svctm, password, isShowRed, isShowReward);
            }
        } catch (ClientException e) {
            // 客户端异常,例如网络异常等。
            e.printStackTrace();
        } catch (ServiceException e) {
            // 服务端异常。
            Log.e("RequestId", e.getRequestId());
            Log.e("ErrorCode", e.getErrorCode());
            Log.e("HostId", e.getHostId());
            Log.e("RawMessage", e.getRawMessage());
        }

    }


以上内容为玩九网络作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.9w9w.cn