我搜索检查这个问题是否没有重复,我看到一些没有答案,其他人没有帮助.
这是我的代码:
private void startRecording()
{
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
mFileName += "/recordedHeckPost_.3gp";
mRecorder.setOutputFile(mFileName);
try {
mRecorder.prepare();
//Thread.sleep(2000);
mRecorder.start();
}
catch (InterruptedException e)
{ // TODO Auto-generated catch block
e.printStackTrace();
}
catch(IllegalStateException e)
{
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void stopRecording()
{
mRecorder.stop();
mRecorder.release();
mRecorder = null;
}
Run Code Online (Sandbox Code Playgroud)
运行此代码后(On Nexus 5)我得到以下启动失败-38异常:
05-31 18:17:39.404: E/MediaRecorder(2464): start failed: -38
05-31 18:17:39.404: W/System.err(2464): java.lang.IllegalStateException
05-31 …Run Code Online (Sandbox Code Playgroud) 我正在使用spring boot嵌入式tomcat和spring boot 1.5.9,我也使用Log4j2.
最近我加载期间的exerience问题,所以我想更好地了解tomcat日志[不是访问日志],我试过(在application.properties中):
logging.level.org.apache.tomcat: INFO
logging.level.org.apache.catalina: INFO
Run Code Online (Sandbox Code Playgroud)
但上述都没有奏效.有没有其他方法来实现它?
我要将非常大规模的应用程序移植到64位,我注意到在网上有一些文章显示了这个移植的许多缺陷,我想知道是否有任何工具可以帮助移植到64位,意味着找到需要更改的代码中的位置....也许启用了警告的gcc ......它是否足够好?有更好的吗 ?
编辑:伙计们我正在寻找一个工具,如果有任何可能是完整的编译器,我知道GCC可以asist,但我怀疑它会发现
将在运行时发现的所有不可移植的问题....也许是静态的代码分析工具,强调移植到64位?
谢谢
嗨,有人可以告诉为什么在Linux和Windows中出现同样的问题:
#include <iostream>
using namespace std;
class A
{
private:
int _dmember;
public:
void func()
{
cout<<"Inside A!! "<<endl;
cout<<_dmember; // crash when reach here.
}
};
int main ()
{
A* a= NULL;
a->func(); // prints "Inside A!!!"
return 1;
}
Run Code Online (Sandbox Code Playgroud)
有人能说出为什么会发生这种奇怪的事情吗?我的意思是,a-> func()不应该进入func(),...?这是不了解的行为,
为什么上面的behivor会发生?
编辑:当然,*= null是故意的!! 所以对于所有回答"这是未定义的行为"或"你永远不应该尝试在NULL指针上调用函数!!"的人来说,来吧....这就是重点.有些人正确解释了这种行为.
我有一个问题,在谷歌搜索和阅读文章分配了几个小时后,我明白Windows中的命名空间扩展是非常棘手的(至少在C++中),现在我也看到它可以在C#中这样做,但是microsft确实' nt officaly确认使用.net进行命名空间扩展...虽然我已经看到非常好的商业Namespace Extenssion框架,但没有一个是免费的....
所以对我的问题:),我想开发自己的Namespace Extenssion,我有C++/C#knwoledge和基本的COM/ATL,但是如果可以做到我更喜欢c#,那么c#inteop可以完全完成工作而不需要太多招数?或者应该在ATL潜水以创建必要的COM对象......
谢谢!
阅读本文后:在C++中使用接口
我决定使用__interface带有宏的关键字来添加虚拟析构函数,如上面的链接所述.
我很高兴__interface关键字会导致编译器强制执行接口规则,但是当我把它用于测试驱动器时我很失望...事实证明__interface关键字没有强制执行接口中的方法不应该包含的规则方法体.
我当然可以为函数方法添加一个宏,但我不想这样做.有没有人有任何其他建议?
编辑:可移植性对我来说是一个无问题,因为我必须在Windows和Linux上编译所以我将使用__interface关键字,当我在Windows上而不是在Linux上,这将是为了执行以下规则,这不能通过抽象基类强制执行:
除了可以解决方法的析构函数问题之外,当然可以看到在windows环境中使用此关键字的优势.