小编Ash*_*dey的帖子

如何在emberjs的chrome浏览器中获取停止共享按钮的事件处理程序

我正在使用 twilio API 在 emberjs 应用程序中实现屏幕共享,我能够成功共享屏幕并切换停止它。这是我的代码->

this.get('detectRtc').isChromeExtensionAvailable(available => {
    if (available) {
      const { twilioParticipant } = this.get('participant')

      if (this.get('stream') && this.get('stream').active) {
        this.get('streamTrack').stop()
        this.get('userMedia.mediaStream')
        .removeTrack(this.get('streamTrack'))
        this.set('isEnabled', false)
        twilioParticipant.removeTrack(this.get('streamTrack'))
      } else {
        this.get('detectRtc').getSourceId(sourceId => {
          // "cancel" button is clicked
          if (sourceId !== 'PermissionDeniedError') {
            // "share" button is clicked extension returns sourceId
            this.get('userMedia')
            .getScreen(sourceId)
            .then(mediaStream => {
              this.set('isEnabled', true)
              this.set('stream', mediaStream)
              this.set('streamTrack', mediaStream.getVideoTracks()[0])
              twilioParticipant.addTrack(mediaStream.getVideoTracks()[0])
            })
            .catch(() => { /* do nothing, but return something */ })
          }
        })
      } …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome ember.js webrtc mediastream

2
推荐指数
1
解决办法
3935
查看次数

电子,react-native和NodeJS应用程序的嵌入式数据库?

我有一个JavaScript应用程序,该应用程序是使用react-native为移动应用程序实现的,而其桌面应用程序是使用electronic框架实现的。移动应用程序使用react-native-sqlite-storage本机模块保存首选项和数据(5-6表),而电子应用程序使用node-sqlite3

移动和桌面应用程序共享许多功能,但是由于使用了不同的数据库插件,因此存在很多差异。另外,对于桌面应用程序,由于node-sqlite3是本机依赖项,​​因此我必须分别为Windows和macOS构建应用程序安装程序。真痛苦!

所以,我需要的是一个数据库解决方案:

  • 可嵌入到应用程序中
  • 与sqlite3相比更高效,更高效
  • 支持同步到远程数据库
  • 支持macOS,Windows和Linux
  • 加密写入数据库中的数据
  • 跨JS运行时的统一API(浏览器/ NodeJS / JavascriptCore)

以下是我遇到的似乎很吸引人的列表:

那么,您有什么建议?如何为您的应用实现类似功能?

javascript database node.js react-native electron

2
推荐指数
1
解决办法
2857
查看次数