我正在尝试编写一个显示PCM数据的程序.我一直非常沮丧地试图找到一个具有正确抽象级别的库,但我找到了python wave库并且一直在使用它.但是,我不确定如何解释数据.
wave.getparams函数返回(2个通道,2个字节,44100 Hz,96333帧,无压缩,无压缩).这一切看起来都很愉快,但后来我尝试打印一个帧:'\ xc0\xff\xd0\xff'这是4个字节.我想一个帧可能是2个样本,但模糊不会在那里结束.
96333帧*2个样本/帧*(1/44.1k秒/样本)= 4.3688秒
然而,iTunes报告时间接近2秒,基于文件大小和比特率的计算在2.7秒的范围内.这里发生了什么?
另外,我怎么知道字节是有符号还是无符号?
非常感谢!
String[] strs = new String[] { "1", "2", ... , "6" };
for (String s : strs) {
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
这是关于java internals的问题.
在上面的代码示例中,foreach循环如何计算出数组的长度?数组实际上是内部对象还是使用sizeof前端程序员无法访问的东西?
我有一种感觉,我只是错过了一些愚蠢的东西,但我觉得它也很酷.:-)
我已经工作了几个小时试图理解以下问题:我有一个用户发送Ajax请求动态发送一个表单并记录提交时读取的表单数量增加.为此,我使用request.session['editing_foo'] = { 'prefix_of_form_elements' : pkey }以便将它们与数据库关联以进行保存和加载(-1表示尚未保存的新表单).
但是,当我使用以下代码(见下)时,我得到以下奇怪的输出:
第一次点击:
{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)
第二次点击:
{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)
第三次请求:
{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)
到底他妈发生了什么?
id_fetcher = re.compile(r'\d')
@login_required
def ajax_add_foo(request):
def id_from_prefix(key):
return int( id_fetcher.search(key).group(0) )
if 'editing_foos' not in request.session:
print "reinitializing"
request.session['editing_foos'] = {}
print request.session['editing_foos'], request.user
keys = request.session['editing_foos'].keys()
if len(keys) == 0:
next_key = 1
else:
print [ id_from_prefix(key) for key in keys ]
next_key …Run Code Online (Sandbox Code Playgroud) 我在模型中有一个字段,我希望用户感觉他们可以编写任意数量的文本.Django在模型中提供了CharField和TextField.我假设不同之处在于其中一个是char(max_length)而另一个是内部的varchar.
我很想使用TextField,但是因为它不尊重max_length,所以我有点担心有人将大量数据转储到它并对我的服务器进行DOS操作.我应该怎么处理这个?
谢谢!
我遇到了一个奇怪的问题,如果我getString(R.string.somestringname)不时调用,甚至在删除R文件并重新编译之后,会出现错误的字符串.模拟器没有崩溃,并且出现了一个有效的字符串 - 它只是错误的字符串.
我的strings.xml示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Activity Names -->
<string name="app_name">an app name</string>
<string name="selector_name">app name | Select</string>
<string name="create">Create</string>
<string name="overview_name">appname | Overview</string>
<string name="another_name">appname | Another View</string>
.....
<!-- Edit Note -->
<string name="placeholder">Foo bar</string> <-- here is a problem
<string name="created">Created:</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
以下是遇到其中一个问题的代码示例:
if (note.created != null) {
createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
}
Run Code Online (Sandbox Code Playgroud)
输出的文本(某些时候)是Foo bar November 03, 2010(即属于R.string.placeholder).到底是怎么回事?这令人不安地让我想要硬编码字符串;-)
谢谢你的帮助!
一般如何将有符号和无符号整数相互转换而无需指定特定宽度?
例如:
uint8_t <-> int8_t
uint16_t <-> int16_t
uint32_t <-> int32_t
uint64_t <-> int64_t
Run Code Online (Sandbox Code Playgroud)
最好写成:
uint8_t <-> int8_t
uint16_t <-> int16_t
uint32_t <-> int32_t
uint64_t <-> int64_t
Run Code Online (Sandbox Code Playgroud)
但是,我怀疑这并不能达到我想要的效果。
我认为使用这种方法可以达到类似的效果,但我认为对于相同的数据宽度这样做可能会有一些语法糖。
有问题的标签:
< a href="{% url django.contrib.auth.views.login %}">Login< /a>
Run Code Online (Sandbox Code Playgroud)
URL配置:
from django.contrib.auth import views <br />
...<br />
(r'^login/$',views.login, {'redirect_field_name' : '/' })
<br />...
Run Code Online (Sandbox Code Playgroud) 我想要进行以下设置:
abstract class Parent {
public static String ACONSTANT; // I'd use abstract here if it was allowed
// Other stuff follows
}
class Child extends Parent {
public static String ACONSTANT = "some value";
// etc
}
Run Code Online (Sandbox Code Playgroud)
这在Java中可行吗?怎么样?如果我可以避免它,我宁愿不使用实例变量/方法.
谢谢!
编辑:
常量是数据库表的名称.每个子对象都是一个迷你ORM.
我一直对优化“重新编号”算法感兴趣,该算法可以将具有重复项的任意整数数组重新标记为从 1 开始的标签。集合和映射对于我一直在尝试做的事情来说太慢了,排序也是如此。是否有一种数据结构只能记住某个数字是否已被看到或不可靠?我正在考虑尝试使用布隆过滤器,但我有 >12M 整数,并且目标性能比良好的哈希图更快。这可能吗?
这是一个简单的伪 C++ 算法示例,该算法会很慢:
// note: all elements guaranteed > 0
std::vector<uint64_t> arr = { 21942198, 91292, 21942198, ... millions more };
std::unordered_map<uint64_t, uint64_t> renumber;
renumber.reserve(arr.size());
uint64_t next_label = 1;
for (uint64_t i = 0; i < arr.size(); i++) {
uint64_t elem = arr[i];
if (renumber[elem]) {
arr[i] = renumber[elem];
}
else {
renumber[elem] = next_label;
arr[i] = next_label;
++next_label;
}
}
Run Code Online (Sandbox Code Playgroud)
输入/输出示例:
{ 12, 38, 1201, 120, 12, 39, 320, 1, 1 }
->
{ …Run Code Online (Sandbox Code Playgroud) 我有两个活动.一个从数据库加载所有行,另一个保存到数据库.当我在onStop中进行第二次保存并且第一次重新计算onResume中的数据时,它们会不按顺序执行(第一次恢复然后第二次保存).我设法通过将保存数据放入onPause来解决这个问题,但为什么会发生这种情况呢?这是最干净的方法吗?