小编Rob*_*ide的帖子

MediaRecorder启动失败:-38

我搜索检查这个问题是否没有重复,我看到一些没有答案,其他人没有帮助.

这是我的代码:

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)

android mediarecorder android-mediarecorder

15
推荐指数
1
解决办法
8916
查看次数

Spring启动嵌入式tomcat日志

我正在使用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)

但上述都没有奏效.有没有其他方法来实现它?

logging spring tomcat8 spring-boot embedded-tomcat-8

13
推荐指数
1
解决办法
2万
查看次数

将Linux 32位应用程序移植到64位?

我要将非常大规模的应用程序移植到64位,我注意到在网上有一些文章显示了这个移植的许多缺陷,我想知道是否有任何工具可以帮助移植到64位,意味着找到需要更改的代码中的位置....也许启用了警告的gcc ......它是否足够好?有更好的吗 ?

编辑:伙计们我正在寻找一个工具,如果有任何可能是完整的编译器,我知道GCC可以asist,但我怀疑它会发现
将在运行时发现的所有不可移植的问题....也许是静态的代码分析工具,强调移植到64位?

谢谢

c c++ linux 64-bit

7
推荐指数
1
解决办法
3488
查看次数

空指针对象问题

嗨,有人可以告诉为什么在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指针上调用函数!!"的人来说,来吧....这就是重点.有些人正确解释了这种行为.

c++

1
推荐指数
2
解决办法
2096
查看次数

ATL或C#for windows shell/namespace extenssion?

我有一个问题,在谷歌搜索和阅读文章分配了几个小时后,我明白Windows中的命名空间扩展是非常棘手的(至少在C++中),现在我也看到它可以在C#中这样做,但是microsft确实' nt officaly确认使用.net进行命名空间扩展...虽然我已经看到非常好的商业Namespace Extenssion框架,但没有一个是免费的....

所以对我的问题:),我想开发自己的Namespace Extenssion,我有C++/C#knwoledge和基本的COM/ATL,但是如果可以做到我更喜欢c#,那么c#inteop可以完全完成工作而不需要太多招数?或者应该在ATL潜水以创建必要的COM对象......

谢谢!

.net c# windows atl visual-c++

1
推荐指数
1
解决办法
561
查看次数

在使用__interface关键字时,如何使编译器为定义方法体的类发出错误?

阅读本文后:在C++中使用接口

我决定使用__interface带有宏的关键字来添加虚拟析构函数,如上面的链接所述.

我很高兴__interface关键字会导致编译器强制执行接口规则,但是当我把它用于测试驱动器时我很失望...事实证明__interface关键字没有强制执行接口中的方法不应该包含的规则方法体.

我当然可以为函数方法添加一个宏,但我不想这样做.有没有人有任何其他建议?

编辑:可移植性对我来说是一个无问题,因为我必须在Windows和Linux上编译所以我将使用__interface关键字,当我在Windows上而不是在Linux上,这将是为了执行以下规则,这不能通过抽象基类强制执行:

  1. 可以从零个或多个基接口继承.
  2. 只能包含公共的纯虚方法.
  3. 不能包含数据成员; 属性是允许的.
  4. 无法从基类继承.
  5. 不能包含构造函数,析构函数或运算符.
  6. 不能包含静态方法.

除了可以解决方法的析构函数问题之外,当然可以看到在windows环境中使用此关键字的优势.

c++ abstract-class interface visual-c++

1
推荐指数
1
解决办法
265
查看次数