Articles of mediarecorder

从Looxcie设备访问video流

我正在寻找是否有办法从我创建的Android应用程序中的蓝牙连接中获取音频和video流。 http://www.looxcie.com/index.php/companion-apps/looxciecam Looxcie有自己的应用程序将video保存到文件中,但如果可能的话,我希望使用MediaRecorder访问原始video流。 谢谢!

MediaRecorder在启动时崩溃

我搜索了很多主题,但没有直接回答。 我有这个代码: recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setOutputFile(mFileName); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); if(!mStartRecording) { btn.setText(“Stop Recording”); try { recorder.prepare(); } catch (IOException e) { e.printStackTrace(); } recorder.start(); mStartRecording = true; } else { btn.setText(“Start Recording”); mStartRecording = false; recorder.stop(); recorder.reset(); recorder.release(); recorder = null; } 我补充说: (看到添加STORAGE的地方解决了它,对我没有好处) 我在API Level 7(Android 2.1)上开发 堆栈跟踪说“start faild”堆栈跟踪: 04-26 19:27:41.955: D/dalvikvm(890): GC […]

获得支持的Android设备编解码器

有没有办法向Android设备询问它支持哪些音频和video编解码器进行编码? 我发现设备不支持http://developer.android.com/guide/appendix/media-formats.html中列出的强制性编解码器,并且似乎有设备支持其中未列出的其他编解码器。

Android mediarecorder停止失败

我遇到了一个非常奇怪的行为:有时我的mediarecorder崩溃并出现错误“停止失败”,有时它工作正常。 是我的错还是系统的错误? 我不知道出了什么问题。 private void stopRecording(){ ticker.cancel(); ticker.purge(); recorder.stop(); startBtn.setText(“Start”); recordInProcess = false; markList = locWriteTask.getMarkArray(); mCamera.lock(); recorder.release(); } private void startRecording(){ startBtn.setText(“Stop”); recordInProcess = true; recorder = new MediaRecorder(); mCamera.unlock(); recorder.setCamera(mCamera); recorder.setPreviewDisplay(mSurfaceHolder.getSurface()); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); recorder.setMaxDuration((int) 10000000); recorder.setVideoSize(320, 240); recorder.setVideoFrameRate(15); recorder.setOutputFile(FULL_PATH_TO_LOCAL_FILE + counter + MP4); try{ recorder.prepare(); } catch (Exception e){ finish(); […]

Android – 录制video时静音麦克风

在按照类似的教程后,我正在使用MediaRecorder类使用相机录制video http://androidcookbook.com/Recipe.seam;jsessionid=40151FCD26222877E151C3EEFB406EED?recipeId=1375&recipeFrom=ViewTOC 我希望在录音时能够将麦克风静音/取消静音。 怎么可能? 我正在设置音频源 mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 但是,如果我想在某些时候没有声音录音怎么办?

Android:如何在没有有效表面的情况下初始化MediaRecorder进行video预览?

我正在构建一个相机应用程序,其中video不断被捕获并保存到SD卡。 video很短(几分钟),其长度是使用setMaxDuration()预设的。 整个过程工作正常,而主要活动在前台。 但是,当我转到另一个活动(例如设置)时,video录制仅在后台工作,直到达到最大持续时间。 文件已保存,但无法启动新序列,因为prepare()失败,显然是因为setPreviewDisplay()不喜欢没有适当的表面来附加。 我尝试使用虚拟Surface,虚拟SurfaceHolder,lockCanvas()以及其他各种技巧,但没有任何效果。 有没有办法在没有有效表面的情况下初始化MediaRecorder?

在Android中,是否可以更改相机(从前到后)并仍然保持录制?

那是我的问题:)。 如果我使用带有MediaRecorder的前置摄像头开始录制,然后切换到后置摄像头,是否可以使用相同的video文件继续录制? 此外,是否可以同时录制两个摄像机?

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 […]

需要一个简单的录音例子

我需要在Android中使用AudioRecorder进行简单的录音和播放示例。 我尝试使用MediaRecorder,它工作正常。

Android MediaRecorder stop()未被调用

我有一个非常奇怪的错误,我的一些代码没有被调用,但看起来没有任何理由为什么它不会被调用。 onFinishedRecording并标记”Finished recording.” 被注销,但之后的代码根本没有被调用。 当mMediaRecorder.stop();时,所有代码都停止被调用mMediaRecorder.stop(); 叫做。 它也没有进入catch块。 为什么会这样? 我认为它可能与不同的线程有关,但我检查了所有的线程名称,它们都在同一个主线程上运行。 另外,我的相机预览设置可能有问题吗? 当我尝试播放video时,它已损坏且无法播放。 除了上述问题,我的后退按钮在应用程序中没有任何作用。 不完全说明为什么或如何与我实现的代码相关。 MyLibrary类(库模块类) public class MyLibrary implements PreciseCountdownTimer.PreciseCountdownTimerCallback { private static final String TAG = AngryOtter.class.getSimpleName(); private static final long MAX_RECORD_TIME_MILLIS = 3000; private static final long INTERVAL_MILLIS = 1000; private static MyLibrary mInstance; private Activity mActivity; private CameraInitListener mCallback; private int mCameraId = […]