冯瑞
冯瑞
  • 发布:2017-07-19 17:00
  • 更新:2019-12-03 16:36
  • 阅读:12189

视频拍摄能不能限制拍摄时间和微信小视频一样

分类:HTML5+

视频拍摄能不能限制拍摄时间和微信小视频一样

2017-07-19 17:00 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

可以通过 Native.js 实现,通过设置 android.intent.extra.durationLimit 来限定录像时间。

<button id="btn" type="button" class="mui-btn mui-btn-blue mui-btn-block">按钮</button>  
<script type="text/javascript">  
    document.querySelector('#btn').addEventListener('click',function () {  
        // 调用原生android摄像头  
        var VIDEOZOOM = 200;  
        var MediaStore = plus.android.importClass("android.provider.MediaStore");  
        var Intent = plus.android.importClass("android.content.Intent");  
        // 导入后可以使用new方法创建类的示例对象  
        var intent = new Intent("android.media.action.VIDEO_CAPTURE");  
        intent.putExtra("android.intent.extra.videoQuality", 1);//0 means low quality, 1 means high quality  
        //intent.putExtra("android.provider.MediaStore.EXTRA_OUTPUT", url);  
        intent.putExtra("android.intent.extra.durationLimit", 3);//设置录像时间  
  
        var main = plus.android.runtimeMainActivity();  
        main.startActivityForResult(intent,VIDEOZOOM);  
        //获取返回参数  
        main.onActivityResult = function(requestCode, resultCode, data) {  
            var context = main;  
            plus.android.importClass(data);  
            var uri = data.getData();  
            var resolver = context.getContentResolver();  
            plus.android.importClass(resolver);  
            var cursor = resolver.query(uri, null, null, null, null);  
            plus.android.importClass(cursor);  
            cursor.moveToFirst();  
            var column = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);  
            // 获取录制的视频路径  
            var filePath = cursor.getString(column);  
  
            // 解析视频文件的属性  
            plus.io.resolveLocalFileSystemURL(filePath,function(entry) {  
                entry.file(function(file){  
                    console.log("size=="+file.size);   
                    console.log("name=="+file.name);  
                });  
            }, function (e) {  
                console.log("Resolve file URL failed: " + e.message);  
            });  
        };  
    })  
</script>

欢迎参与我近期将进行的一次讲座:html5+ App开发之 Android 平台离线集成 5+ SDK,会总结 Native.js 及 5+ SDK的用法,欢迎前来围观。

  • m***@worldflying.cn

    请问一下,ios的怎么实现呢?完全不懂object-c


    2017-10-14 17:14

  • 村头小阳哥

    怎么设置 录像时间长点呢


    2017-11-18 10:50

  • A***@qq.com

    本地打包,死活无法调用,求解!!!!


    2019-02-27 13:01

冯瑞

冯瑞 (作者)

太感谢 可以用

移动达人

移动达人

不错,收藏了。请问IOS也能显示吗?

冯瑞

冯瑞 (作者)

ios 还没测试

  • m***@worldflying.cn

    朋友,你ios的成功了么?我Ios调用原生的一直都不能控制拍摄时长


    2017-11-13 12:01

冯瑞

冯瑞 (作者)

还有能不能限制录制的质量

冯瑞

冯瑞 (作者)

还有能不能限制录制的质量

  • 赵梦欢

    真正想做好视频录制,最好还是用原生做,可以看看ffmpeg。


    2017-11-20 08:54

星陨

星陨 - 前端业余开发者

设置录制质量无效果

苛学加

苛学加 - 向阳而生

mark

5***@qq.com

5***@qq.com

Android 录制成功后:可否进行视频压缩呢?

王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

5***@qq.com

5***@qq.com

onActivityResulti不停地触发

  • 3***@qq.com

    是啊,发现多次调用onActivityResult是怎么回事啊,麻烦告诉下,谢谢!


    2020-04-14 16:46

  • 5***@qq.com

    回复 3***@qq.com: 我也不知道


    2020-04-22 13:03

普通人6

普通人6 - 一个普通人

录制完成以后应该如何上传呢

该问题目前已经被锁定, 无法添加新回复