我正在使用 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应用程序,该应用程序是使用react-native为移动应用程序实现的,而其桌面应用程序是使用electronic框架实现的。移动应用程序使用react-native-sqlite-storage本机模块保存首选项和数据(5-6表),而电子应用程序使用node-sqlite3。
移动和桌面应用程序共享许多功能,但是由于使用了不同的数据库插件,因此存在很多差异。另外,对于桌面应用程序,由于node-sqlite3是本机依赖项,因此我必须分别为Windows和macOS构建应用程序安装程序。真痛苦!
所以,我需要的是一个数据库解决方案:
以下是我遇到的似乎很吸引人的列表:
那么,您有什么建议?如何为您的应用实现类似功能?
javascript ×2
database ×1
electron ×1
ember.js ×1
mediastream ×1
node.js ×1
react-native ×1
webrtc ×1