HTML媒体捕获实例
accept属性
规定了可通过文件上传提交的服务器接受的文件类型,仅适用于 <input type="file">
。
audio/*
:接受所有的声音文件。1
<input type="file" accept="audio/*">
video/*
:接受所有的视频文件。1
<input type="file" accept="video/*">
image/*
:接受所有的图像文件。1
<input type="file" accept="image/*">
capture属性
可以捕获到系统默认的设备。
camera
:照相机。1
<input type="file" accept="image/*" capture="camera">
camcorder
:摄像机。1
<input type="file" accept="video/*" capture="camcorder">
microphone
:录音。注:1
<input type="file" accept="audio/*" capture="microphone">
input:file
标签有个multiple
属性,表示可以支持多选。加了这个属性,capture
就没效果了。
常见例子
- 调用拍照:微信环境及浏览器环境下,苹果手机、安卓手机均可以拍照。
1
<input type =”file” accept =”image / *” capture>
- 调用录像:微信环境及浏览器环境下,苹果手机、安卓手机均可以录像。
1
<input type =”file” accept =”video / *” capture>
- 调用音频:微信环境,苹果手机、安卓手机均可以调起录音机和文件;浏览器环境,苹果手机、安卓手机均只能调起录音机。
1
<input type =”file” accept =”audio / *” capture>
- 高级用例:在标记中指定capture属性,并通过XMLHttpRequest在脚本中处理文件上载。微信环境及浏览器环境下,苹果手机、安卓手机均可以拍照。
1
<input type =”file” accept =”image / *” capture>
- 无capture:微信环境,苹果手机、安卓手机均可以调起拍照和文件;浏览器环境,苹果手机可以调起拍照和相册,安卓手机可以调起拍照和文件。
1
<input type =”file” accept =”image / *”>
- 无capture:微信环境,苹果手机、安卓手机均可以调起文件;浏览器环境,苹果手机可以调起拍照、相册和文件,安卓手机可以调起拍照和文件。
1
<input type =”file”>
浏览器环境判断
1 | var ua = navigator.userAgent.toLowerCase();//获取浏览器的userAgent |
苹果、安卓设备判断
1 | var ua = navigator.userAgent.toLowerCase();//获取浏览器的userAgent |