Articles of android mediarecorder

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上的录制文件播放到iphone,反之亦然。 现在我在用, audioRecorder = new MediaRecorder(); audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 使用此代码记录的文件大小为85 kb / 15秒,质量非常差。 如果我使用, audioRecorder = new MediaRecorder(); audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 然后文件大小是25kb / 15秒,质量比aac好得多。 但问题是AMR在iPhone中无法播放。 所以请建议Android的录制架构具有更好的质量,实惠的尺寸,也可以在iPhone上播放。

Android相机预览回调和mediarecorder录制video

我想创建一个应用程序,它必须记录video(使用媒体记录器)和录制的video需要格式化(使用相机)。 我创建了如下所示的示例代码,但是当从菜单按下startrecording按钮时显示错误。它显示强制关闭错误。但previewcallback没有错误。 我的代码如下所示 package buffer.video; import android.app.Activity; import android.os.Bundle; import java.io.IOException; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.PreviewCallback; import android.media.MediaRecorder; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.widget.Toast; public class VofoVideoToBufferActivity extends Activity implements SurfaceHolder.Callback, Camera.AutoFocusCallback { private SurfaceView preview; private SurfaceHolder previewHolder; private MediaRecorder mRecorder; private Camera […]

Android使用CamcorderProfile捕获慢动作video

我想在我的Nexus 5x上捕捉慢动作video。 这就是我配置媒体记录器的方式: CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH_SPEED_HIGH); mMediaRecorder = new MediaRecorder(); // Step 1: Unlock and set camera to MediaRecorder mCamera.unlock(); mMediaRecorder.setCamera(mCamera); // Step 2: Set sources mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); // Step 3: Set the high speed CamcorderProfile mMediaRecorder.setProfile(profile); // Step 4: Set output file // Step 5: Prepare media recorder // Step 6: Capture video […]

媒体录音机录制电话有时无法录制其他侧面语音

在我的应用程序中,有一个function来记录语音呼叫,它的工作非常好。 但是当测试(三星s7,s8)时,它不能很好地工作。 该应用程序只能记录来电者的声音而不是另一端的声音。 下面是我的代码检查请建议解决方案 MediaRecd = new MediaRecorder(); MediaRecd.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL ); MediaRecd.setAudioChannels(ConstantVariables.audioChannels);//monoRecording MediaRecd.setAudioEncodingBitRate(64); MediaRecd.setAudioSamplingRate(44100); MediaRecd.setOutputFormat(output_formats[pos]);//.mp3 MediaRecd.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//I already try with all possible CAMCORDER , MIC , Default etc etc but none was working MediaRecd.setOutputFile(Currentfilename); try { MediaRecd.prepare(); MediaRecd.start(); } catch (Exception e) { MediaRecd.reset(); MediaRecd.release(); MediaRecd = null; } 请帮忙

Android – 将rtsp(h264)流保存到mp4文件

我正在开展一个我需要的项目 读取来自IPCamera的输入H.264编码流 – 我可以通过rtsp://192.168.1.83:8001 / rtsp url获取此信息 显示IPCamera流 – 我可以使用 final VideoView vv = (VideoView) findViewById(R.id.video_view_h264); MediaController mc = new MediaController(getApplicationContext()); vv.setVideoURI(video); vv.setMediaController(mc); vv.requestFocus(); vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { vv.start(); } }); 现在我想将此流记录到MP4文件中。 这是我被困的地方,我正在考虑以下选项 a)MediaRecorder – 根据我的谷歌搜索,我相信这个类的输入只能来自设备相机。 有没有办法调整这个我可以从rtsp流提供输入的地方? b)MediaCodec API – 4.1以后Android已经发布了这个低级API以及MediaExtractor和MediaCodec。 对于此选项,我认为rtsp流不能用于以下代码段 final String STREAM_URL = “rtsp://192.168.1.83:8001/”; MediaExtractor mediaExtractor = new […]

android mediaprojection截图包含黑框

我正在使用MediaProjection记录我的屏幕,如下所示 Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); displayWidth = size.x; displayHeight = size.y; imageReader = ImageReader.newInstance(displayWidth, displayHeight, ImageFormat.JPEG, 5); int flags = DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC; DisplayMetrics metrics = getResources().getDisplayMetrics(); int density = metrics.densityDpi; mediaProjection.createVirtualDisplay(“test”, displayWidth, displayHeight, density, flags, imageReader.getSurface(), null, projectionHandler); Image image = imageReader.acquireLatestImage(); byte[] data = getDataFromImage(image); Bitmap bitmap […]

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:从Fragment调用Activity

我在活动中使用片段。 我正在使用MediaRecorder进行录音。 我有两项活动。 1st本身是将列出录制文件的Activity。 在它的右侧,当一个选择记录新文件时,将调用AudioRecording Activity。 当选择任何列出的文件时,我使用AudioPlayer播放录制的文件。 我在这里能够将Activity转换为片段,但是当我按下Stop时,它终止了应用程序。 请有人可以回答。 当我将它用作简单的活动时,我的audiorecorder工作正常。 任何解决方案,如果我可以在该片段中调用该活动或类似的东西。? 如果有人知道,请帮助我。

为什么在textureview中的相机预览比在surfaceview中更模糊?

我发现当使用textureview而不是surfaceview作为相机预览(两者都通过mediarecorder连接到相机)时,预览更加模糊。 模糊的意思是在纹理视图中你可以看到像素,特别是在缩放时。 使用surfaceview时不是这种情况。 为什么会这样?