我一直在为 Windows 10 Mobile 研究使用 UPLOAD 的Video Capture,目前似乎不可能。我正在使用以下内容:
<input type="file" accept="video/*">
这允许您选择移动网络摄像头作为来源,但您只能拍照。在 Android 和 iOS 上,相机打开准备好录制视频,您可以将其作为“multipart/form-data”POST 请求的一部分上传。
在网络上,有很多在视频元素中显示网络摄像头源并从中捕获单个帧的示例,但没有捕获完整视频以供上传的示例。网络上没有实际从 Windows Phone 网页打开摄像机的示例(我在 Windows 10 Mobile Insider Preview 上使用 Edge 浏览器)。
我还使用了以下代码,它允许您从网络摄像头流中获取静止图像(取自 MicrosoftEdge/Demos/photocapture):
var initializeVideoStream = function(stream) {
mediaStream = stream;
var video = document.getElementById('videoTag');
if (typeof (video.srcObject) !== 'undefined') {
video.srcObject = mediaStream;
}
else {
video.src = URL.createObjectURL(mediaStream);
}
...
}
navigator.mediaDevices.getUserMedia({
video: {
width: 640,
height: 360,
deviceId: { exact: webcamList[currentCam] }
}
}).then(initializeVideoStream).catch(getUserMediaError);
使用 MediaStream 对象调用 initializeVideoStream,但是,似乎没有办法将其通过管道传输到 Blob 或其他流,以允许您保存它并最终将其发布到服务器。
HTML5 MediaRecorder API看起来很有希望,但是,还没有多少供应商实现它。
我也发现了这个 hack Recording Audio & Video with HTML5 (co-starring Meteor) , 但是,由于 Edge 浏览器不支持 webp格式化这是不行的。
我在网上找到的其他一些资源包括(但没有涵盖视频上传):
http://dev.modern.ie/testdrive/demos/photocapture/
http://ryanjoy.com/2014/04/file-upload-in-ie11-on-windows-phone-8-1/
最佳答案
目前绝对不支持“accept”属性。
Edge 状态显示为“考虑中”,在 http://dev.modern.ie/platform/status/httpclienthints/?filter=f3f0000bf&search=accept 上仅获得 65 票.
如果您对在 Edge 上实现 HTTP 客户端提示(也称为“接受”)感兴趣,请务必在上面的 URL 上投票。
在其他一些方面提供有关 Microsoft Edge 的反馈。
- Edge 和 IE 的错误 - https://connect.microsoft.com/ie/feedback
- 开发者反馈主页 - https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer
- 开发人员反馈 Twitter - https://www.twitter.com/msedgedev
- 功能建议 - https://windowsphone.uservoice.com/forums/101801-feature-suggestions/category/18985-web-browsing
希望对您有所帮助。希利在坦帕。
关于使用适用于 Windows 10+ Mobile 的 UPLOAD 进行视频捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963816/