我正在开发一个音乐游戏,它就像一个明星,但不是唱歌,你必须播放录音机.它被称为oFlute,它仍处于早期开发阶段.
在游戏中,我捕获麦克风输入,然后运行简单的FFT分析,并将结果与典型的录音机频率进行比较,从而得到播放音符.
一开始,我使用的音频库是RtAudio,但我不记得为什么我切换到PortAudio,这是我目前正在使用的.该问题是,不时,要么随机崩溃或停止捕获,就像如果没有声音来自麦克风.
我的问题是,在Linux上捕获麦克风输入的最佳选择是什么?我只需要打开,读取和关闭麦克风的字节流.
我一直在读这本指南,并且(un)令人惊讶的是它说:
我不认为PortAudio对于类Unix操作系统来说是非常好的API.
那么,你推荐我什么?
假设我需要一个模板系统,用户可以使用在线编辑器在线编辑它.
所以他们可以放置if标签,循环标签等,但仅适用于我想要注入模板的特定对象.
这可以安全地解决安全问题吗?
即他们以某种方式输出sql连接字符串信息或编写允许标记和注入对象之外的东西.
这段代码非常慢.从我上网本上的slime-repl执行需要几分钟.
(def test-array (make-array Integer/TYPE 400 400 3))
(doseq [x (range 400), y (range 400), z (range 3)]
(aset test-array x y z 0))
Run Code Online (Sandbox Code Playgroud)
相反,这段代码运行得非常快:
(def max-one (apply max (map (fn [w] (apply max (map #(first %) w))) test-array)))
(def max-two (apply max (map (fn [w] (apply max (map #(second %) w))) test-array)))
(def max-three (apply max (map (fn [w] (apply max (map #(last %) w))) test-array)))
Run Code Online (Sandbox Code Playgroud)
这是否与分块序列有关?我的第一个例子是错误的吗?
我想知道你是否可以帮助我.
我正在写一个游戏(2d),允许玩家采取多条路线,其中一些分支/合并 - 甚至可能是循环.游戏的每个部分将决定下一个加载的部分.
我将每个部分称为IStoryElement - 我想知道如何最好地以易于更改/配置的方式链接这些元素,同时,可以使用
我将有一个引擎/工厂程序集,它将StoryElement根据各种配置选项加载适当的程序.
我最初计划给每个人StoryElement一个NextElement() As IStoryElement财产和一个Completed()事件.当通风口触发时,引擎读取NextElement属性以查找下一个StoryElement.
这样做的缺点是,如果我想要通过游戏绘制所有路线图,我将无法 - 我无法确定每个路线的所有可能目标StoryElement.
我考虑了其他一些解决方案,但他们都觉得有点笨重 - 例如,我是否需要额外的抽象层?即StoryElementPlayers或类似的 - 每个人都负责将多个StoryElement系列和一个ChoicePlayer 串联在一起,每个人负责绘制自己的图形StoryElement- 但这只会将问题向上移动一层.
简而言之,我需要某种方式来模拟一个简单但动态的工作流程(但我不想实际使用WWF).有这样简单的模式吗?我设法找到的所有内容都涉及更高级的控制流程(并行处理等)
假设我有一个日期时间列表,我们知道每个日期时间是事件发生的记录时间.
是否有可能在matplotlib中绘制此事件随时间发生的频率,在累积图中显示此数据(以便每个点大于或等于之前的所有点),而无需预处理此列表?(例如,将datetime对象直接传递给一些精彩的matplotlib函数)
或者我是否需要将此日期时间列表转换为字典项列表,例如:
{"year": 1998, "month": 12, "date": 15, "events": 92}
Run Code Online (Sandbox Code Playgroud)
然后从此列表生成图表?
我正在尝试在我的Android应用程序中执行一个简单的全局异常处理程序,我遇到了麻烦:
public class TicTacToe extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Toast.makeText(this, "TOAST", Toast.LENGTH_LONG);
}
});
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
我是Android和Java的新手,但在.NET中可行.我不能从java中的匿名方法访问局部变量吗?如果是这样,我该如何重写呢?
谢谢,维塔利
我现在正处理一个问题的大脑.我试图用jQuery从"响应"到"评论"的最后更改链接的哈希标记.我有一个简单的脚本应该这样做,但它不起作用.链接不会改变.但是,Firebug没有显示错误,当我在Firebug的控制台中运行代码时,它就像我想要的那样工作.为什么这不能独立工作?有没有人有解决方案,我在这个问题上的优势.
(function ($) {
$(document).ready(function() {
$("a[href$='respond']").each(function() {
$(this).attr("href", $(this).attr('href').replace("respond", "comments"));
});
});
})(jQuery.noConflict());
Run Code Online (Sandbox Code Playgroud)
非常感谢,我知道这可能是一个痛苦的考验,但我真的很感激.
我有一个js函数,可以使用Audio接口播放任何给定的声音(为每个调用创建一个新实例).
这很有效,直到大约第32次通话(有时更少).此问题与Audio实例的发布直接相关.我知道这是因为我允许时间让Chromium中的GC运行,它将允许我再次播放32个左右的声音.
这是我正在做的一个例子:
<html><head>
<script type="text/javascript">
function playSound(url) {
var snd = new Audio(url);
snd.play();
snd = null;
}
</script>
</head>
<body>
<a href="#" onclick="playSound('blah.mp3');">Play sound</a>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我也有这个,适用于少于32个playSound调用的页面:
var AudioPlayer = {
cache: {},
play: function(url) {
if (!AudioPlayer.cache[url])
AudioPlayer.cache[url] = new Audio(url);
AudioPlayer.cache[url].play();
}
};
Run Code Online (Sandbox Code Playgroud)
但是这对我想做的事情不起作用(用其他内容(来自单独的文件)动态替换div,它们上面有更多的声音 - 1.内存使用量很容易飙升,2.许多声音永远不会播放).
我需要一种立即释放声音的方法.是否有可能做到这一点?我没有找到音频接口的免费/关闭/卸载方法.
页面将在本地查看,因此声音的恒定加载根本不是一个重要因素(大多数声音都很短).
假设你有一个字符串文字,里面有很多引号.你可以逃避所有这些,但这是一种痛苦,难以阅读.
在某些语言中,您可以这样做:
foo = '"Hello, World"';
Run Code Online (Sandbox Code Playgroud)
但是,在Java中,s ''用于chars,因此不能以String这种方式使用它.有些语言有解决此问题的语法.例如,在python中,您可以这样做:
"""A pretty "convenient" string"""
Run Code Online (Sandbox Code Playgroud)
Java有类似的东西吗?
我一直在阅读有关编译原理的一对夫妇的书籍/在线参考,并持续显示特定运营商在一段时间上来每隔一段时间(如看到这里),特别是在当前的话题是上下文无关文法.这是什么意思?同样,它与众不同=>?
举例说明区分=>从=*>将是最有帮助的.