- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我目前有两个函数,当我添加对桥的调用时,它们会被调用,并且其中的两个函数会被自动调用,所以我尝试使用 JQuery,这样它们只有在单击按钮时才会被调用,然后我可以从服务器端开始工作。
同时使用 ARI 客户端和 socket.io 可能会出现问题,我不太确定我是否仍在学习。
问题是此时抛出一个错误,提示$未定义。
JQuery 确实可以工作,我正在调用另一个文件,它是所有 JQuery 并处理我的 socket.io 客户端。
$("#mute").click(function () {
alert("Handler for .click() called.");
channel.mute({
channelId : 111
},
function (err) {});
});
$("#kick").click(function () {
alert("Handler for .click() called.");
channel.hangup({
channelId : 111
},
function (err) {});
});
任何人都有使用这两种方法的经验,甚至对我如何做到这一点有任何建议。
完整代码 list ;
var ari = require('ari-client');
var util = require('util');
var chanArr = [];
var test;
var mute;
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
//ARI client
ari.connect('http://localhost:8088', 'asterisk', 'asterisk', clientLoaded);
function clientLoaded(err, client) {
if (err) {
throw err;
}
// find or create a holding bridges
var bridge = null;
client.bridges.list(function (err, bridges) {
if (err) {
throw err;
}
bridge = bridges.filter(function (candidate) {
return candidate.bridge_type === 'mixing';
})[0];
if (bridge) {
console.log(util.format('Using bridge %s', bridge.id));
} else {
client.bridges.create({
type : 'mixing'
}, function (err, newBridge) {
if (err) {
throw err;
}
bridge = newBridge;
console.log(util.format('Created bridge %s', bridge.id));
});
}
});
// handler for StasisStart event
function stasisStart(event, channel) {
console.log(util.format(
'Channel %s just entered our application, adding it to bridge %s',
channel.name,
bridge.id));
channel.answer(function (err) {
if (err) {
throw err;
}
bridge.addChannel({
channel : channel.id
}, function (err) {
var id = chanArr.push(channel.name)
console.log("Value: " + test);
test = channel.name;
updateSip);
if (err) {
throw err;
}
//If else statement to start music for first user entering channel, music will stop once more than 1 enters the channel.
if (chanArr.length <= 1) {
bridge.startMoh(function (err) {
if (err) {
throw err;
}
});
} else if (chanArr.length === 2) {
bridge.stopMoh(function (err) {
if (err) {
throw err;
}
});
} else {}
});
});
$("#mute").click(function () {
alert("Handler for .click() called.");
channel.mute({
channelId : 111
},
function (err) {});
});
$("#kick").click(function () {
alert("Handler for .click() called.");
channel.hangup({
channelId : 111
},
}
// handler for StasisEnd event
function stasisEnd(event, channel) {
console.log(util.format(
'Channel %s just left our application', channel.name));
console.log(channel.name);
var index = chanArr.indexOf(channel.name);
chanArr.splice(index, 1);
updateSip();
}
client.on('StasisStart', stasisStart);
client.on('StasisEnd', stasisEnd);
client.start('bridge-hold');
}
//Socket.io logic here
server.listen(3009, function () {
console.log('listening on *:3009');
});
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.sendfile(__dirname + "/testPage.html");
});
io.sockets.on('connection', function (data) {
updateSip();
});
io.sockets.on('muting', function (data) {
mute = data;
console.log("client side:" + mute);
});
function updateSip() {
console.log("Value: " + test);
io.sockets.emit('sip', chanArr);
}
最佳答案
错误说$未定义将是jQuery不可用。如果我们可以看到更多代码在页面上的结构,那么为什么它不可用就会更清楚。
关于javascript - 使用 JQuery/socket.io 控制何时调用 ARI 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33122528/
a = [ "a", "b", "c", "d", "e" ] 这两种说法有什么区别? a[1,3] #=> [ "b", "c", "d" ] 对比 a[1..3]
我按照此处的教程 (https://github.com/apache/aries-jpa/tree/master/examples) 运行 aries-jpa 示例,但没有成功。 README.md
万字长文解析最常见的数据库恢复算法: ARIES 首发地址: https://mp.weixin.qq.com/s/Kc13g8OHK1h_f7eMlnl4Aw Intro
我想知道是否有人有录制 ARI 桥来分离文件、未混合的经验(或至少分离立体声文件的 L 和 R channel )。似乎这可以通过记录单独的 channel 来实现,但这些 channel 无法桥接。
我正在尝试使用 ARI API 发起调用,我遵循的过程是 POST/ari/channels 创建 channel 1 到本地扩展 POST/ari/bridges 创建网桥 POST/ari/bri
我正在尝试使用 Asterisk ARI 来监视与桥相关的事件。我正在使用 Asterisk 13.6.0。 具体来说,我想知道桥何时创建或销毁,以及用户( channel )何时加入或离开桥。在我的
为什么在聚类方法中使用调整兰德指数 (ARI) 和归一化互信息 (NMI) 比简单的测试分数(例如 MSE)能获得更好的测量结果?我明白哪个点属于哪个簇在聚类算法中很重要,并且标记是任意的。 最佳答案
给定一棵 n 元整数树,任务是找到一个子序列的最大和,其约束条件是序列中的任何 2 个数字都不应共享树中的公共(public)边。例子: 1个 /\ 2 5 /\ 3 4最大非相邻和 = 3 + 4
我无法通过控制台浏览器(lynx、elinks)在 ARI 中进行身份验证 cat/etc/asterisk/ari.conf : [general] enabled = yes pret
如果 Aries 算法已经知道在分析阶段后要撤消哪些事务,为什么要在撤消之前应用重做? 我知道(认为)它与 Lsn 编号和保持一致性有关,因为鉴于磁盘上刷新的数据可能与崩溃时撤消事务不同,撤消事务(由
在ARIES algorithm ,为什么它需要在重做通行证中重复崩溃前的所有历史记录?我可以在分析过程中获取提交的事务编号,然后重做提交的事务日志记录吗?这种方法将减少需要重做和撤消的记录数。 最佳
我目前正在为 asterisk 开发静音功能,我可以使用 asterisk ARI 从我的 Web 前端运行它。 但每次我尝试运行/调用静音函数时,都会出现以下错误: Error: { "mess
我想接受一个返回元组的函数。有没有办法描述函数的返回元组长度? 最佳答案 似乎不是。可能是因为它在形式逻辑中不是必需的,因为使用了 2 个函数而不是一个具有两个输出的函数。 如果 arity 或 ad
我用Java编写了一个K-ary树结构的程序,所以我试图找到树的叶子数.. import java.util.List; import java.util.ArrayList; /** A tree
我正在遵循位于:Camel MyBatis Integration Guide 的设置指南。我正在使用服务混合 5.0.1。我使用了 features-install spring-mybatis 来
计算ARI时与 scikit's implementation ,我注意到一个奇怪的情况。对于某些看起来标签上高度一致的列表,ARI 仍然是 0.0 甚至更糟。 我尝试了几种标签,以下是观察到的最奇怪
我想找出一个函数 f(x) 来计算 k 叉树中的叶子数。例如,假设我们创建了一棵树,它以根 4 开始,有 3 个 child ,每个 child 分别为 -1、-2、-3。我们的叶子只会是 0 值,而
我正在尝试用 C++ 设计一个树类,但我遇到了节点销毁的问题。 如果我销毁一个节点,我不想销毁它的整个子树,因为可能有其他东西指向它。所以显而易见的解决方案是使用引用计数。我会有一个指向父节点的弱指针
我在销毁树时遇到删除节点的问题。每个节点都是在我的 Tree 类中定义的结构: struct node { Skill skill; node** child; node
我正在尝试编写一个程序,将家谱表示为 n 叉树。该程序必须从 CSV 文件中读取名称并构建树。树由以下结构表示: typedef struct NTree_S { char * na
我是一名优秀的程序员,十分优秀!