peerConnection.removeStream(streamA) // __o_j_sep... in Screenshots below
peerConnection.addStream(streamB) // SSTREAM in Screenshots below
Run Code Online (Sandbox Code Playgroud)
streamA 是来自我的相机和麦克风的视频/音频流.streamB 是我从我的扩展中获得的屏幕截图.

*1备注
但是,如果我删除streamA从peerConnection和addStream(streamB)喜欢上面好像没有什么改变.
以下按预期工作(两端的流被删除并重新添加)
peerConnection.removeStream(streamA) // __o_j_sep...
peerConnection.addStream(streamA) // __o_j_sep...
Run Code Online (Sandbox Code Playgroud)
我发现这个例子是"反向"(从屏幕截图切换到带摄像头的音频/视频),但无法发现显着差异.
该peerConnection RTCPeerConnection对象实际上是由这创造SIPML库 源可以在这里找到代码.我这样访问它:
var peerConnection = stack.o_stack.o_layer_dialog.ao_dialogs[1].o_msession_mgr.ao_sessions[0].o_pc
Run Code Online (Sandbox Code Playgroud)
(是的,这看起来不正确,但是没有正式的方法来访问Peer Connection,请参阅此处的讨论)和此处.
最初我试图用(视频)改变videoTrack of streamA videoTrack streamB.在这里查看问题.有人向我建议我应该尝试重新协商对等连接(通过删除/添加Streams),因为addTrack不会触发重新协商.
我也在这里寻求帮助,但维护者似乎很忙,没有机会回应.
*1 备注:为什么streamB没有videoTracks财产?流在HTML <video>元素中播放,似乎"有效".我是这样得到的:
navigator.webkitGetUserMedia({
audio: false, …Run Code Online (Sandbox Code Playgroud) postresql是否能够根据'half'一词进行全文搜索?例如,我正在尝试"tree"搜索,但我告诉postgres搜索"tr".
我找不到能够做到这一点的解决方案.
目前我正在使用
select * from test, to_tsquery('tree') as q where vectors @@ q ;
Run Code Online (Sandbox Code Playgroud)
但是我想做这样的事情:
select * from test, to_tsquery('tr%') as q where vectors @@ q ;
Run Code Online (Sandbox Code Playgroud) 在OSX终端中:
du -h | sort -nr
-bash: sort: command not found
which sort
/usr/bin/sort
Run Code Online (Sandbox Code Playgroud)
奇怪的是:我尝试重现错误,它似乎是完全随机的.我的PATH回应道:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/sytycs/.rvm/bin
Run Code Online (Sandbox Code Playgroud)
这种情况只发生在管道与发生grep,more,less等任何想法是什么原因造成的?
我正在开发一个简单的应用程序,在此我试图访问相机和麦克风使用getUserMedia.它适用于桌面Chrome和Android Chrome,但在iPhone和iPad Chrome中无效.
navigator.getUserMedia = navigator.getUserMedia
|| navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
var constraints = "";
if (mediaType === "audio,video") {
constraints = {
audio : true,
video : true
};
} else {
constraints = {
audio : true,
video : false
};
}
navigator.getUserMedia(constraints, successCallback, errorCallback);
Run Code Online (Sandbox Code Playgroud) 我学会了如何让NGINX返回503客户错误页面,但我无法了解如何执行以下操作:
示例配置文件:
location / {
root www;
index index.php;
try_files /503.html =503;
}
error_page 503 /503.html;
location = /503.html {
root www;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,根据上面的代码,如果503.html在我的根目录中找到一个被调用的页面,该站点将把该页面返回给用户.
但似乎虽然上面的代码可以在有人只是访问我的网站时输入
它不会捕获如下请求:
使用我的代码,用户仍然可以看到配置文件页面或其他任何页面index.php.
问题:
我如何陷阱请求所有页面在我的网站,并转发给503.html时503.html出现在我的根文件夹是什么?
我在停止后重新启动RMI注册表时遇到问题:
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.UnicastRemoteObject;
import javax.swing.JOptionPane;
public class CinemaServer
{
private Registry registry;
ClientImpl clientImple; //remote interface implemented class
private static String title="Cinema Pvt Ltd";
public CinemaServer() {
try {
clientImple = new ClientImpl();
registry=LocateRegistry.createRegistry(3311);
registry.rebind("RMI_INSTANCE", clientImple);
} catch (RemoteException e) {
JOptionPane.showMessageDialog(null, "Can't Start RMI Server",title,JOptionPane.ERROR_MESSAGE);
}
}
public void stopServer()
{
try {
registry.unbind("RMI_INSTANCE");
UnicastRemoteObject.unexportObject(clientImple, true);
} catch (NotBoundException e) {
JOptionPane.showMessageDialog(null, "Can't Stop Server",title,JOptionPane.ERROR_MESSAGE);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我启动服务器: CinemaServer ser=new CinemaServer();
当我打电话给ser.stopServer();它停止. …
启用了Rails应用程序(3.2.8)和turbolinks(不确定是否相关).
link在用户显示页面上.(例如某事发生变化的通知.)目前我打算像这样处理它:
创建链接,使它们具有以下形式:
project2/comment.1453
创建一个notifications controller,获取projects2更改类型comment及其ID的内容1453.所以理论上我想重定向projects2并突出显示该页面上id为1453的评论.问题是:重定向后如何突出显示注释?
notificationscontroller.rb(伪代码!)
def show
project = Project.find(params[:project_id])
comment = Comment.find(params[:commment_id])
redirect_to project AND highlight!
end
Run Code Online (Sandbox Code Playgroud)
在我的研究期间,我遇到了Backbone,看起来像Backbones路由器可以通过使用函数响应url来解决这个问题(注释的突出显示).但我对Backbone没有任何经验.
我不确定这种功能的一般方法是什么.并希望避免走错路.如果你可以帮助我,那会很棒.
编辑:一个迷你问题的排序:我不确定使用哪个字符comment.1453是#一个更好的选择?(comment#1453)
我检查控制器中的ip-address
request.env['REMOTE_ADDR']
Run Code Online (Sandbox Code Playgroud)
这在我的测试环境中工作正常.但是在使用nginx + unicorn的生产服务器上,我总能得到127.0.0.1.
这是我的网站的nginx配置:
upstream unicorn {
server unix:/tmp/unicorn.urlshorter.sock fail_timeout=0;
}
server {
listen 80 default deferred;
# server_name example.com;
root /home/deployer/apps/urlshorter/current/public;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
Run Code Online (Sandbox Code Playgroud) 我目前在个人开发中使用WebRTC,一切正常.我从网络摄像头获取流,但现在我想使用约束getUserMedia().
var constraints = {
audio: false,
video: {
mandatory : {
minWidth: 1280,
minHeight: 720
}
}
};
Run Code Online (Sandbox Code Playgroud)
当我在Firefox中测试它时,它似乎忽略了约束.当我在Chrome或Opera上测试时,我的约束工作正常并且我的质量很好,有谁知道为什么?问题是Firefox?
谢谢你的建议
我想知道 aMediaStreamTrack的结束。根据MDN,一个ended事件是
在曲目播放结束时发送(当值
readyState变为 时ended)。也可以使用onended事件处理程序属性。
所以我应该能够设置我的回调,如:
const [track] = stream.getVideoTracks();
track.addEventListener('ended', () => console.log('track ended'));
track.onended = () => console.log('track onended');
Run Code Online (Sandbox Code Playgroud)
一旦我通过以下方式停止跟踪,我希望这些被调用:
tracks.forEach(track => track.stop());
// for good measure? See
// https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/stop#Stopping_a_video_stream
videoElem.srcObject = null;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是没有调用回调。我构建了以下JSFiddle,其中以 3 种不同方式创建了 3 个 MediaStream:
我还有 3 个按钮可以停止相应MediaStream. 行为如下:
inactive,MediaStream 的oninactive回调被触发(在 Chrome 中,Firefox 似乎不支持这个)。