标签: android-mediarecorder

mediarecorder.setVideoSize()以最大分辨率失败

我试图找到相机的分辨率

final Parameters p = this.camera.getParameters();
List<Size> previewSizes=p.getSupportedPreviewSizes();
Run Code Online (Sandbox Code Playgroud)

并设置媒体记录器的视频大小

this.mediaRecorder.setVideoSize(previewSizes.get(0).width, previewSizes.get(0).height);
Run Code Online (Sandbox Code Playgroud)

我以前用横向模式录制视频.

MediaRecorder 无法以这种高分辨率录制视频.

当我以较低的分辨率尝试时,它正在录制.

我们设置的屏幕显示尺寸和视频尺寸是否有问题?

android android-mediarecorder

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

Android MediaRecorder在无效状态4下启动失败

我尝试录制音频,只录制音频,我在Android 4.1.2上得到此错误,但在4.3上没有:

这是代码:

private void startRecord(){
    on_record = true;
    final boolean exists = (new File(Environment.getExternalStorageDirectory() + File.separator + NOTAY)).exists();
        if (!exists) {new File(Environment.getExternalStorageDirectory() + File.separator + "Test").mkdirs();}

        final boolean existAud = (new File(android.os.Environment.getExternalStorageDirectory() + File.separator + NOTAY + File.separator + "Audio")).exists();
        if (!existAud) {new File(Environment.getExternalStorageDirectory() + File.separator + "Test" + File.separator + "Audio").mkdirs();}

        final EditText editTitle= (EditText) findViewById(R.id.editTitle);
        final String title = editTitle.getText().toString();
        final String audioName = getDate(System.currentTimeMillis()).replaceAll(" ", "_");
        currentAudioPath =    Environment.getExternalStorageDirectory().getAbsolutePath()
                            + File.separator
                            + "Test"
                            + File.separator
                            + …
Run Code Online (Sandbox Code Playgroud)

multithreading android android-mediarecorder

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

Android 使用 MediaRecorder 从 SURFACEVIEW 录制视频

我刚来这地方。

我在 android 中有一个应用程序,可以通过网络流式传输相机,并有一个 SurfaceView 组件来显示预览(我正在流式传输的内容)。

我想记录我在预览(surfaceview)中看到的内容而不重新打开相机,因为它刚刚从流中打开。

在棒棒糖中,我看到您可以使用 MediaRecorder api 进行录制并将视频源设置为 SURFACE。

我如何记录简单地添加一个从表面记录的新 MediaRecorder 对象。假设您已完成所有内容设置,应用程序可以正常工作并进行流式传输,并在 SurfaceView 组件中显示预览。我想定义一个新的记录器,并将源设置为表面视图。

谢谢

编辑:

您好,我尝试使用以下代码进行记录:

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setOutputFile(getVideoFile(activity, true).getAbsolutePath());
mMediaRecorder.setVideoEncodingBitRate(10000000);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
int orientation = ORIENTATIONS.get(rotation);
mMediaRecorder.setOrientationHint(orientation);
mMediaRecorder.prepare();
Run Code Online (Sandbox Code Playgroud)

假设您有一个应用程序可以打开相机并流出网络并在 SurfaceView 中显示预览。我想添加一个新的媒体记录器来记录表面视图中的内容。

android surfaceview video-recording android-mediarecorder

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

ANR on Mediarecorder onStop : Video Recording Camera API

我一直在尝试使用Serviceclass 和使用Camera API. 当我运行该应用程序时,一切似乎都运行良好。但是,当我停止服务时,我的应用程序会引发 ANR。使用DDMS tool,我main在按下停止录制按钮后发现了有关我的线程的以下信息:

  at android.media.MediaRecorder.stop(Native Method)    
  at com.svtech.thirdeye.thirdeye.Services.VideoRecordingOldApiService.stopRecording(VideoRecordingOldApiService.java:212)  
  at com.svtech.thirdeye.thirdeye.Services.VideoRecordingOldApiService.onDestroy(VideoRecordingOldApiService.java:250)  
  at android.app.ActivityThread.handleStopService(ActivityThread.java:2877) 
  at android.app.ActivityThread.access$2000(ActivityThread.java:162)    
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1466)   
  at android.os.Handler.dispatchMessage(Handler.java:107)   
  at android.os.Looper.loop(Looper.java:194)    
  at android.app.ActivityThread.main(ActivityThread.java:5371)  
  at java.lang.reflect.Method.invokeNative(Native Method)   
  at java.lang.reflect.Method.invoke(Method.java:525)   
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)    
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)   
  at dalvik.system.NativeStart.main(Native Method)  
Run Code Online (Sandbox Code Playgroud)

onDestroy()我的Service类的方法代码如下:

@Override
    public void onDestroy() {

        super.onDestroy();

        if (linearLayout != null) {

            windowManager.removeView(linearLayout);
            linearLayout = null;
        }
        mMediaRecorder.stop();
        if (mMediaRecorder != null) {
            mMediaRecorder.reset();
            mMediaRecorder.release();
            mMediaRecorder = null;
        }
        if (mCamera != …
Run Code Online (Sandbox Code Playgroud)

debugging android mediarecorder android-mediarecorder android-debug

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

Android中的特定时间后如何停止MediaRecorder?

我想在某个时间(例如5秒)后停止录制视频。
你知道怎么用MediaRecorder吗?

camera android android-mediarecorder android-camera2

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

在android中播放音频文件

我遇到了一个要求,我需要在 android 中播放媒体文件。我将发布页面的屏幕截图

播放媒体文件

实际需求是用户想要播放他的录音列表中的音频文件。录音列表通过列表适配器显示。我想在同一页面上显示音频文件的播放进度(如屏幕截图所示)。

我正在粘贴我尝试过的代码。

public class RecordingActivity extends ListActivity implements MediaPlayerControl {
    MediaPlayer mMediaPlayer;
    MediaController mMediaController;
    Handler mHandler;
    String OUTPUT_FILE;
    RelativeLayout rl; 
    Context context = null;
    Point p;
    static final String[] recordings = new String[] {"Example1","Example2",
            "Example3","Example4","Example5" };

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new FirstAdapter(this, recordings));
        }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

        showPopup(RecordingActivity.this, p); 
        // get selected items
        mMediaPlayer = new MediaPlayer();
        mMediaController = new MediaController(this);
        mHandler = new Handler();
        mMediaController.setMediaPlayer(RecordingActivity.this); …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer android-mediarecorder

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

如何使用Mediarecorder捕获像instagram和藤蔓这样的视频广场

我试过设置mediarecorder的视频大小(宽度,高度),但这有设备兼容性问题,在少数设备上它崩溃在mediarecorder.start();

android android-mediarecorder

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

录制时将 Android 视频分割为多个文件

我有一个要求,我必须录制视频并将视频保存到文件块中。如何在录制时将视频分割为多个文件而不丢失视频帧

video android android-mediarecorder

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

如何在android中使用MediaRecoder录制高质量的音频?

我正在尝试使用媒体记录器在 android 中录制音频。它适用于 3gp 音频,但是当我尝试使用 aac 格式的相同代码时,它失败了。(这是我的 aac 格式代码):

final String outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recording.acc";
final MediaRecorder myAudioRecorder = new MediaRecorder();
myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
        myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AAC_ADTS);
        myAudioRecorder.setOutputFile(outputFile);
MediaPlayer mediaPlayer = new MediaPlayer();
                    mediaPlayer.setDataSource(outputFile);
                    mediaPlayer.prepare();
                    mediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)

我已经添加了权限,我正在使用按钮正确触发这些功能。我在这里只写了主要代码只是为了简单 我的问题:

以 aac 格式录制和播放声音的正确方法是什么?

使用媒体记录器和媒体播放器在 android 中录制和播放音频的最佳格式是什么,我该如何实现?我尝试使用 3gp,但它的声音质量很低。

android android-layout android-mediaplayer android-mediarecorder android-studio

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

button.performClick()的工作示例代码

有人可以把一个工作代码示例button.performClick()分配给一个OnClickListener.我使用的以下代码返回false为button.performClick()-

myButton.performClick()
 myButton.setOnClickListener ( new View.OnClickListener()
      {
           @Override
           public void onClick ( View view )
           {
              .............
           }
});
Run Code Online (Sandbox Code Playgroud)

android button buttonclick android-mediarecorder

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