首页 \ 问答 \ 将lambdaj与String.matches方法一起使用(Using lambdaj with String.matches method)

将lambdaj与String.matches方法一起使用(Using lambdaj with String.matches method)

如何使用lambdaj和String.matches方法过滤Collection<String>
我是lambdaj的新手并且感到愚蠢,因为给出的例子比这更复杂。


How to filter a Collection<String> using lambdaj and the String.matches method.
I'm new to lambdaj and feeling dumb since the examples given are more complicated than this.


原文:https://stackoverflow.com/questions/10044274
更新时间:2022-10-07 19:10

最满意答案

等待loadedmetadata事件:

navigator.mediaDevices.getUserMedia({video: true})
  .then(stream => video.srcObject = stream)
  .then(() => new Promise(resolve => video.onloadedmetadata = resolve))
  .then(() => canvas.getContext('2d').drawImage(video, 0, 0, 160, 120))
  .catch(e => console.log(e));
<video id="video" width="160" height="120" autoplay></video>
<canvas id="canvas" width="160" height="120"></canvas>

以上应该适用于所有浏览器(WebRTC)。

在Chrome中你也可以这样做 - 但是play()在任何其他浏览器中都没有返回承诺。

另请注意,不推荐使用URL.createObjectURL(stream) 。 使用srcObject


Wait for the loadedmetadata event:

navigator.mediaDevices.getUserMedia({video: true})
  .then(stream => {
    video.srcObject = stream;
    return new Promise(resolve => video.onloadedmetadata = resolve);
  })
  .then(() => canvas.getContext('2d').drawImage(video, 0, 0, 160, 120))
  .catch(e => console.log(e));
<video id="video" width="160" height="120" autoplay></video>
<canvas id="canvas" width="160" height="120"></canvas>

The above should work in all browsers (that do WebRTC).

In Chrome you can also do this - but play() doesn't return a promise in any other browser yet.

Also note that URL.createObjectURL(stream) is deprecated. Use srcObject.

Update: Thanks to @KyleMcDonald in comments for pointing out the importance of registering the loadedmetadata listener synchronously with setting the srcObject!—Code updated.

相关问答

更多
  • getUserMedia错误:NotFoundError 当用户拒绝权限或媒体不可用时,将发生此错误。 在UWP应用程序中,当您要访问媒体捕获时,您需要打开项目的清单文件,转到Capabilities标签并选择Webcam功能以启用应用程序的相机设备。 这将解决问题,但对于您的情况,我认为您可能还需要以相同的方式启用Microphone功能。 getUserMedia error: NotFoundError This error will occurre when the user denies perm ...
  • 在getUserMedia上,成功回调的内容是媒体跟踪对象。 您可以在此处查看MediaTrack中提供的所有属性: https : //developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack 要进一步探索质量,您可能必须阅读成功回调流并进行一些自定义检查。 on getUserMedia, what you are getting on success call back is a media track object. You can see ...
  • 您可以/必须使用Promise ,例如: var requestDevices = { media:function() { return new Promise(function(resolve, reject) { navigator.getUserMedia({ video: true, audio: true }, resolve, reject); }); } }; var stream = requestDevices.media(); 无论您何 ...
  • 这适用于我: Gecko.Xpcom.Initialize(@"******************"); GeckoPreferences.User["plugin.state.flash"] = true; GeckoPreferences.User["browser.xul.error_pages.enabled"] = true; GeckoPreferences.User["media.navigator.enabled"] = true; /* The following line is the ...
  • 我猜测上面的代码放在一个html文件中并通过单击文件直接访问(和url就像file:///... ),这种方式可以在firefox中工作,但不能在chrome中工作 ,用于相机捕获要处理chrome,您需要在某些服务器上托管该文件。 另外,在不相关的说明中,您可以替换 video.onloadedmetadata =function(e){ video.play(); } 简单地说 video.play(); i am guessing that the code ...
  • 试试这个: function getUserMedia() { var constraints = { video: true, audio: true }; var deferred = jQuery.Deferred(); if (location.protocol !== "https:") { alert('WARNING: Add https:// before the current url to capture video through WebC ...
  • 你提到的第二个演示( 这一个 )适用于Chrome 28上的我。 这听起来像你启用了标志,但要确保在chrome://flags启用了Enable screen capture support in getUserMedia()并且启用Chrome后启动了Chrome)。 The second demo you mentioned (this one) works for me on Chrome 28. It sounds like you enabled the flag, but make sure ...
  • Flash或Java可能会在IE和Safari上完成这项工作。 您需要一个适用于移动设备的本机应用程序。 I have find this API, and she is nice : scriptcam
  • 我有同样的问题,我通过调用视频元素上的播放方法来修复它。 即使您添加了autoplay属性,它也无法正常工作。 我最好的猜测是,在加载视频标签时,源是空的,因此无法启动。 navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia; var success = function(stream){ var video = document.getElementById('myVide ...
  • 等待loadedmetadata事件: navigator.mediaDevices.getUserMedia({video: true}) .then(stream => video.srcObject = stream) .then(() => new Promise(resolve => video.onloadedmetadata = resolve)) .then(() => canvas.getContext('2d').drawImage(video, 0, 0, 160, ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)