我正在尝试开发一个简单的android录音机。一切都构建良好,它在android设备上也运行良好。好像我可以开始录制但是当我想停止它时抛出一个IllegalStateException。我找不到错误。这是代码:publicclassVoiceRecorder{MediaRecorderrecorder=newMediaRecorder();staticContextcont;publicvoidstartRecord(Contextcontext)throwsIllegalStateException,IOException{cont=context;recorder.setAudio
我想在android上检测对着麦克风吹气。谷歌没有太大帮助。可能吗? 最佳答案 好的!我在网上找到了这个,所以这绝对是可能的。看起来您可以调用mediaRecorder.getMaxAmplitude()。来自名为NoiseAlert的应用程序的代码publicvoidstart(){if(mRecorder==null){mRecorder=newMediaRecorder();mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mRecorder.setOutputFo
如果有人知道在使用MediaRecorder时如何在前后摄像头之间切换。我为此功能定义了一个按钮,但不知道如何定义onclickListener。总Activity如下:importjava.io.File;importjava.io.IOException;importandroid.app.Activity;importandroid.content.Intent;importandroid.content.pm.ActivityInfo;importandroid.hardware.Camera;importandroid.media.MediaRecorder;importan
在使用MediaRecorder时,我们没有API级别低于24的暂停/恢复功能。所以有一种方法可以做到这一点:在暂停事件中停止记录器并创建记录的文件。在恢复时再次开始录制并创建另一个文件并继续这样做直到用户按下停止。最后合并所有文件。很多人在SO上问过这个问题,但无论如何都找不到解决这个问题的办法。人们谈论通过在暂停操作时停止录制并在恢复时重新启动来创建多个媒体文件。所以我的问题是我们如何以编程方式合并/加入所有媒体文件?注意:在我的例子中是MPEG4容器-m4a用于音频,mp4用于视频。我尝试使用SequenceInputStream合并各个生成的记录文件的多个InputStream
我正在开发一个音频应用程序,允许将micro录制到mp3文件。然后它允许播放音频文件。在Android上,我使用的是这段代码:mRecorder=newMediaRecorder();mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);mRecorder.setOutputFile("path
当我设置视频格式MPEG-2(常数值8)TS和音频格式ACC(常数值3)时,它只记录视频而没有ACC格式的音频。但它不会给出任何错误。我在SamsungGalaxyTab(Honeycomb)上试过。因为MPEG-2TS支持android版本3.0+。如果我使用默认的视频和音频格式,它工作正常。我怎样才能做到这一点。请帮忙。if(mCamera==null){mCamera=Camera.open();mCamera.unlock();}if(mMediaRecorder==null)mMediaRecorder=newMediaRecorder();mMediaRecorder.se
在我的MediaRecorder上调用stop()在SamsungGalaxyCamera上无限期挂起。将此调用放在单独的线程中也无助于解决问题。Logcat不显示任何错误消息。但是,在SamsungGalaxyNexus上运行同一个应用程序不会出现任何问题。这是围绕我调用stop的代码:View.OnClickListenercaptureListener=newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){if(isRecording){//stoprecordingandreleasecameramMediaRe
任何人都可以指出我正在做的错误吗?我正在尝试录制一段短视频,但不知何故它找到了崩溃的方法。源代码:publicclassStart_recordingextendsActivityimplementsSurfaceHolder.Callback{MediaRecorderrecorder;SurfaceHoldersurfaceHolder;SurfaceViewmyVideoView;Cameracamera;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceSta
我正在尝试构建一个基本的摄像机,允许用户通过触摸屏幕快速拍摄视频,这看起来很简单,但我遇到的主要问题是AndroidMediaRecorder不允许快速启动和重新启动,而无需崩溃,如果用户拍摄然后停止然后再次快速恢复拍摄它总是崩溃我不确定是否有办法直接解决这个问题所以我还设计了另一种方法来实现这个通过尝试录制单个视频但试图获得对mediaRecorder实际写入文件的时间进行一些控制。但是我无法使用FileDescriptor使其完全运行,下面我将粘贴我的原始代码和我在第二次尝试控制写入时使用的方法,是否有任何方法可以调整任何代码以实现我之后的暂停功能?任何帮助都会有很长的路要走谢谢我
我一直在寻找更好的解决方案来暂停和恢复视频录制。据我所知,MediaRecorder类不允许在Android4.3或更低版本的录制过程中暂停。我找到了可以将多个视频文件合并为一个视频文件的mp4parser库。我正在使用以下jar:aspectjrt-1.7.3.jarisoparser-1.0.6.jar问题是将它们合并在一起花费的时间太长。例如,总共5分钟左右的2-3个视频文件至少需要2分钟才能合并!!我的GalaxyS3和Note2附带的默认相机应用程序在视频录制上有暂停选项。他们暂停的视频不到1秒即可完成合并。有人可以告诉我我做错了什么吗?我正在使用下面的代码来合并视频文件:f