Android MediaRecorder发布()问题和视频捕获不处于纵向模式

时间:2011-09-09 15:07:49

标签: java android

我在开发视频捕捉应用程序时遇到了一些问题。

1)当我开始捕捉视频时,surface view进入横向模式。我尝试了很多。但我失败了。我也提到了  http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setRotation%28int%29 ..但没有结果

2)我正在使用release()方法。但是当我们使用它时,捕获应用程序后关闭。如果我不在存储卡中使用它,则会有一个没有任何捕获和零大小的视频。

任何机构都能解释为什么会这样吗?

先谢谢

4 个答案:

答案 0 :(得分:1)

这只是为了尝试回答第1点:

您可能会错过AndroidManifest.xml中<activity>标记内的以下属性。查看更多here

android:configChanges="orientation"

如果您没有声明这一点,您的应用将永远不会收到任何设备轮换通知。

答案 1 :(得分:1)

我对线程创建问题有同样的问题,我停止第一个线程,我的活动在下面....问题已经消失.......... ...

<activity android:name=".SensorTest"
        android:windowSoftInputMode="adjustPan" android:screenOrientation="sensor"
        android:configChanges="keyboardHidden|orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </activity>

答案 2 :(得分:1)

我花了好几个小时来处理类似的问题。每当我发布MediaRecorder然后按下后退按钮,应用程序将关闭并重新启动 - onPause,onStop,onDestroy将不会在我离开的Activity中触发,它将会死亡,然后onCreate将在应用程序中触发。

经过大量的实验,我发现如果我添加

,问题就会消失
mediaRecorder = null;
在调用mediaRecorder.release();

之后立即

答案 3 :(得分:0)

我只想回答问题1.我之前也遇到过这个问题。我发现你可以使用函数setOrientationHint(API 9)。在调用MediaRecorder.prepare()之前调用此函数。您可以设置输出视频的方向度。

希望它有所帮助,祝你好运!

相关问题