我试图在OSX上播放声音,来自缓冲区(例如:等效的Windows"PlaySound"功能).
我已经整理了一些C++代码来播放AudioQueue的音频(因为我的理解是这是在OSX上播放音频的最简单方法).
但是,从未生成声音,并且从不调用音频回调函数.
有人知道我做错了什么,或者有没有人有一个简单的C/C++例子来说明如何在OSX上播放声音?
#include
#include
#define BUFFER_COUNT 3
static struct AQPlayerState {
AudioStreamBasicDescription desc;
AudioQueueRef queue;
AudioQueueBufferRef buffers[BUFFER_COUNT];
unsigned buffer_size;
} state;
static void audio_callback (void *aux, AudioQueueRef aq, AudioQueueBufferRef bufout)
{
printf("I never get called!\n");
#define nsamples 4096
short data[nsamples];
for (int i=0;imAudioDataByteSize = nsamples * sizeof(short) * 1;
assert(bufout->mAudioDataByteSize mAudioData, data, bufout->mAudioDataByteSize);
AudioQueueEnqueueBuffer(state.queue, bufout, 0, NULL);
}
void audio_init()
{
int i;
bzero(&state, sizeof(state));
state.desc.mFormatID = kAudioFormatLinearPCM;
state.desc.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;
state.desc.mSampleRate = 44100; …Run Code Online (Sandbox Code Playgroud) 到现在为止,我有一个类似这样的课程:
type C<'a when 'a :> A> (...)
Run Code Online (Sandbox Code Playgroud)
但现在我创建了一个新的B型:
type B (...) =
inherit A()
Run Code Online (Sandbox Code Playgroud)
但我不希望C支持B,这不编译:
type C<'a when 'a :> A and not 'a :> B> (...)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有四个日期:
前两个是一个月的开始和结束
start_m = Time.new(2010,1).beginning_of_month
end_m = Time.new(2010,1).end_of_month
Run Code Online (Sandbox Code Playgroud)
和最后两个,d1并且d2,与d1 <= d2
我想要的是一个包含来自start_m- > end_m和d1- > 交集的日期数字的数组d2
例如:
start_m = 2011-01-01
end_m = 2011-01-31
d1 = 2010-12-20
d2 = 2011-01-11
Run Code Online (Sandbox Code Playgroud)
结果将是
[1,2,3 ... 11]
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法来做这个交集吗?
我想在现有情节的一个小区域中拟合整个格子图.
xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a")
pushViewport(viewport(.2, .7, .2, .2))
grid.rect(gp=gpar(fill="white"))
Run Code Online (Sandbox Code Playgroud)
给我这个:

因此视口被推动.但是当再次调用晶格函数时,它会使用整个器件,就像调用grid.newpage():
xyplot(decrease ~ treatment, OrchardSprays, groups = rowpos, type = "a")
Run Code Online (Sandbox Code Playgroud)
有没有办法将晶格图限制在设备上的预定义区域,就像上面的例子一样?
$replaces = array('replace 1', 'replace thing 2', 'third replace');
$string = '{REPLACEME} sfsfsdfsdf {REPLACEME} sdfopjsd {REPLACEME} sdfsdf {REPLACEME}';
Run Code Online (Sandbox Code Playgroud)
{REPLACEME}用匹配替换替换每个连续的最简单方法是什么?
如果有更多的{REPLACEME}替换,它不应该触及额外{REPLACEME}的.
所以我想要的输出是我的例子:
replace 1 sfsfsdfsdf replace thing 2 sdfopjsd third replace sdfsdf {REPLACEME}
Run Code Online (Sandbox Code Playgroud) 我有这个脚本(bat文件)
tf workspaces /s:http://project02:8080
tf workspace /s:http://project02:8080 Team.descomp;MyDomain\Myuser
tf workfold /workspace:Team.descomp
tf get $/Team/Main/Projects /recursive /force /noprompt
Run Code Online (Sandbox Code Playgroud)
我收到此错误:无法确定工作区.当我尝试执行tf get时.
控制台输出类似于:
服务器:project02
工作区:DESCOMP
所有者:MyUser
电脑:DESCOMP
工作区:Team.descomp
所有者:MyUser
电脑:DESCOMP
...
工作区:Team.descomp(MyUser)
$ /团队:C:\ Temp\Team2
...
无法确定工作区.
注意,$/Team(团队项目)在两台机器上有映射:MyUser和Descomp
工作区:团队所有者:MyUser计算机:MyUser
工作区:Team.descomp所有者:MyUser计算机:DESCOMP
有什么建议?
我正在尝试发布hg存储库.我正在使用hg 1.7.3和hgweb多个存储库.在索引页面上显示存储库名称,但是当我单击它们时,我会获得有关已断开链接的信息.Apache错误日志说:
[Tue Feb 01 15:41:31 2011] [error] [client 10.13.3.64] script not found or unable to stat: /home/hg/webdir/index.cgienigma-reports, referer: http://hg.internal/
Run Code Online (Sandbox Code Playgroud)
我试图访问路径http://hg.internal/enigma-reports/.任何想法,我可能做错了什么?
我在网站中的配置可用如下所示:
<VirtualHost *>
ServerName hg.internal
ScriptAlias / "/home/hg/webdir/index.cgi/"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
之前在index.cgi的路径中没有尾部斜杠.为什么需要尾随斜线?现在它看起来像一个目录,而不是一个文件,看起来非常违反直觉.
阅读关于HTML5的文章,我发现虽然占位符在形式可用性方面非常有用,但如果它们不能在没有javascript的情况下使用CSS,那么它们确实是一个小步骤.
那么我可以将CSS中的占位符定位为与输入文本不同吗?
这可能吗?
该应用程序将有一个按钮和一个文本字段或文本视图.
用户在文本字段或文本视图中键入电话号码.当用户完成时,用户按下按钮,该按钮将打开电话按钮并将呼叫发送到该号码.
我该怎么做?如果可能请提供一些代码!:)
先感谢您!