我正在试图弄清楚如何在iphone/ipad/ipod上连接哪个音频设备.我知道关于音频路由呼叫和路由更改回调的所有内容,但这些并没有告诉我任何关于附加内容的信息.它们仅报告音频当前路由的位置.例如,我需要知道,当音频通过扬声器路由时,耳机和/或蓝牙是否仍然连接.或者,例如,如果用户在使用蓝牙时插入耳机然后决定断开蓝牙,我需要知道即使音频仍然通过耳机路由,蓝牙也会断开连接.
我正在尝试将上下文传递给动态表达式,我评估for循环的每次迭代.我知道加载字符串仅在全局上下文中进行求值,这意味着局部变量不可访问.在我的情况下,我通过将本地转换为全局来进行字符串评估来解决此限制.这就是我所拥有的:
require 'cosmo'
model = { { player = "Cliff", age = 35, gender = "male" }, { player = "Ally", age = 36, gender = "female" }, { player = "Jasmine", age = 13, gender = "female" }, { player = "Lauren", age = 6.5, gender = "female" } }
values = { eval = function(args)
output = ''
condition = assert(loadstring('return ' .. args.condition))
for _, it in ipairs(model) do
each = it
if condition() then
output = …Run Code Online (Sandbox Code Playgroud) 我正在使用Selenium Web驱动程序运行一些基本的功能性Web测试,我在两个功能性Web测试用例中注意到了这个错误.测试用例都在最后通过,但我在控制台中得到了这个:
Exception happened during processing of request from ('127.0.0.1', 1169)
data = self._sock.recv(self._rbufsize)
error: [Errno 10054] An existing connection was forcibly closed by the remote host
Traceback (most recent call last):
File "C:\dev\django-projects\barbwire\venv\lib\site-packages\django\test\testcases.py", line 981, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Python27\Lib\SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "C:\Python27\Lib\SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\dev\django-projects\barbwire\venv\lib\site-packages\django\core\servers\basehttp.py", line 139, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "C:\Python27\Lib\SocketServer.py", line 638, in __init__
self.handle()
File "C:\Python27\Lib\wsgiref\simple_server.py", line 116, in handle
self.raw_requestline …Run Code Online (Sandbox Code Playgroud) 我最近注册了一个Azure帐户,因为我正在开发一个Django应用程序并从Heroku移植它.我在Azure上创建了一个Windows Server 2012 vm,我已经设法复制我的应用程序并在VM上安装其依赖项.我还设法直接在命令行上运行它.现在我想在IIS下运行它.我在网上搜索过,似乎有很多方法可以给这只猫皮肤.我想知道最好的方法.部署生产站点的专业人员使用哪种方法?我很难找到最好的方法.据报道,Django网站上的文档已经过时,它指向另一个网站,该网站解释了如何使用性能工具安装Django.MSDN上的文档仅包括显示在Windows下安装并从命令行运行或安装到Ubuntu VM的教程.我希望得到一些人的指导,他们可以解释一种方法优于另一种方法的优点和缺点.提前致谢!
今天我必须坚持使用stoopid,因为我花了一个多小时试图了解如何在我正在研究的这个iPhone项目中使变量args工作.有人可以帮助我在下面的单元测试中获得绿色条形图吗?我哪里错了?
#import <SenTestingKit/SenTestingKit.h>
@interface VAArgsTest : SenTestCase
{
}
@end
NSString* vaArgsAppend(NSString *first, ...)
{
NSMutableString *list = [[NSMutableString alloc] initWithString:first];
id eachArg;
va_list argumentList;
va_start(argumentList, first);
while(eachArg = va_arg(argumentList, id)) {
if(eachArg)[list appendString:(NSString*)eachArg];
}
va_end(argumentList);
return [list autorelease];
}
@implementation VAArgsTest
-(void) testCallVaArgsAppend
{
NSString *result = vaArgsAppend(@"one ", "two ", @"three");
STAssertEqualObjects(result, @"one two three", @"Expected appended string.");
}
@end
Run Code Online (Sandbox Code Playgroud) 我需要帮助将二进制数据传递给Java.我正在尝试使用jbytearray但是当数据进入Java时它看起来很糟糕.有人可以帮我一把吗?
这是一些示例代码的片段.首先是原生C++方面:
printf("Building audio array copy\n");
jbyteArray rawAudioCopy = env->NewByteArray(10);
jbyte toCopy[10];
printf("Filling audio array copy\n");
char theBytes[10] = {0,1,2,3,4,5,6,7,8,9};
for (int i = 0; i < sizeof(theBytes); i++) {
toCopy[i] = theBytes[i];
}
env->SetByteArrayRegion(rawAudioCopy,0,10,toCopy);
printf("Finding object callback\n");
jmethodID aMethodId = env->GetMethodID(env->GetObjectClass(obj),"handleAudio","([B)V");
if(0==aMethodId) throw MyRuntimeException("Method not found error",99);
printf("Invoking the callback\n");
env->CallVoidMethod(obj,aMethodId, &rawAudioCopy);
Run Code Online (Sandbox Code Playgroud)
然后是Java回调方法:
public void handleAudio(byte[] audio){
System.out.println("Audio supplied to Java [" + audio.length + "] bytes");
byte[] expectedAudio = {0,1,2,3,4,5,6,7,8,9};
for (int i = 0; i < audio.length; …Run Code Online (Sandbox Code Playgroud) 我在开发Android时遇到了烦人的问题.我有一个在我的Macbook上运行的网络服务器(Tomcat),它通过wifi连接到本地网络.我使用wifi将我的Sprint EVO连接到同一网络.我可以连接到Tomcat实例的唯一方法是使用原始IP地址.如果我使用带有或不带".local"域后缀的Macbook名称,它将无法识别主机名.模拟器的行为方式相同.我的iPhone可以像iPhone模拟器一样解析主机名.所以,我在想这是Android平台中的一个错误,还是我错过了/偶然在模拟器和设备中调整某些隐藏的配置?任何的想法?
硬件音量控制
我正在尝试了解什么是最常见的应用程序,这些应用程序基本上是无声的但偶尔会产生声音.这样的应用程序可以利用iOS设备上的侧音量控制,并避免在NSVolume控件小部件中进行设计,我相信这不像硬件侧音量控制那么方便.这种方法适用于像MapQuest 4 mobile这样的应用程序,在这些应用程序中偶尔会有音频提示与其他音乐播放器很好地混合(使用音频闪避),但大多数情况下都是静音.我想知道其他人是如何解决这个问题的.
我开发了这样一个工作得很好的系统.在我的方法中,我查询音频API以确定是否正在播放其他音乐(iPod,AOL Radio,Pandora等),然后仅在没有播放其他音频时才开始音频会话.这将硬件侧音量控制与应用程序联系起来,而不是与铃声(对于iPhone)相关联.当你走到后台时,挑战就来了.仅当应用程序未使用音频时,我的方法才会在后台终止(停用)会话.如果有音频播放,则在播放结束时停用会话.
杀死播放背后的想法是恢复用户根据自己的喜好调整铃声音量的能力,如果我的应用继续在后台运行.
这个问题源于我在2008 - 2009年在iOS上的MapQuest 4手机上开发语音导航功能时遇到的问题.在这个应用程序中,我们希望侧面音量开关在应用程序运行时始终控制转向建议的音量.我后来意识到,在到达目的地并将应用程序发送到后台后,我无法控制我的铃声音量.这是几年前,但我相信应用程序继续在后台运行导致问题.这是一个有趣的案例,当用户正在导航但是如果您继续音频会话将应用程序发送到后台?当应用程序在后台运行时,用户是否更愿意更改应用程序音量或铃声音量?
我的一般用例(当我发布此问题时)涉及在前台运行另一个应用程序(通常是音乐播放器)时在后台导航.然而,当用户坐在主屏幕上时,导航应用程序被发送到后台也是常见的.这是停用音频会话有意义的时候.
它并不像看起来那么直截了当,但我的方法适用于大多数情况.我仍然想知道是否还有其他更可行的解决方案.其他人在做什么?将音量控制包含在自动滑入/滑出的视图中会更有意义吗?有没有我考虑过的事情?你是怎么解决这个问题的?你有什么一般性的建议吗?
我正在使用一些简单的基于 openni 的处理应用程序来破解 Kinect,我打算很快发表一个演讲,我发现了一个似乎可以控制电机的 API。有一个 moveKinect 方法似乎已添加到主 ContextWrapper 界面,但我似乎无法让它工作。查看 svn 历史和发行说明,它似乎是去年添加的,并附有说明它不适用于最新驱动程序(5.1.02,Linux64)的说明。我试过调用该方法以提供度数和弧度值,但没有任何反应。我没有错误,也没有动作。有没有其他人玩过这个?我正在运行第二个到最新的处理 2.0 版本(处理 2.0.1 的链接不起作用)和我可以下载的最新 SImpleOpenNI 包。
我一直试图破解使用JNI的Gradle托管的Android项目,我遇到了一些麻烦.我知道NDK支持仍然是相对较新的,并且大部分都没有记录,但是我已经设法找到了将它变成Gradle构建的基本元素.显然,诀窍是将所有本机代码包含src/main/jni在其中一个配置中(例如在defaultConfig块中):
ndk {
moduleName "mylib"
}
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试构建我的项目时,ndk插件会生成一个Android.mk文件,其中包含本机源的绝对路径.这导致make窒息,因为它仍然认为路径是相对的.在我的情况下,我有一个简单的库项目,下面有1个cpp源/头组合src/main/jni,我用它gradle.build:
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
versionCode 1
versionName "1.0"
ndk {
moduleName "mylib"
}
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
}
Run Code Online (Sandbox Code Playgroud)
运行构建会在build/ndk/debug下生成此Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib
LOCAL_SRC_FILES := \
/Users/clifton/dev/Multi/MultiAndroid/lib/src/main/jni/Android.mk \
/Users/clifton/dev/Multi/MultiAndroid/lib/src/main/jni/myNativeSectionTextProvider.cpp …Run Code Online (Sandbox Code Playgroud)