问题标签 [android-mediarecorder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1196 浏览

android - 绕过 MediaRecorder 在 Android 中录制/处理视频

刚接触 Android 和 Java,但我有很长的编程背景。

假设我想从手机录制一些视频,但在录制时直接操作像素(在 H.264 编码之前),我该怎么做?在 Android 文档中,您似乎使用了 MediaRecorder 类并为其分配了一个相机,然后它记录到一个文件或 URI。但是我想在捕获期间和保存之前处理数据(而不是先保存然后处理)。

谢谢

0 投票
1 回答
3737 浏览

android - 如何播放录制的音频文件?

我正在使用 MediaRecorder 类来录制音频文件,并且我使用了

为我的输出文件命名。

我也知道如何从资源中播放音频文件:

我的问题是,现在,当我不知道我的 MEDIA_OUTPUT_FILE 保存在哪里时,如何播放录制的文件?

0 投票
8 回答
32681 浏览

android - MediaRecorder 在启动时崩溃

我搜索了很多主题,但没有直接的答案。

我有这个代码:

我补充说:

(在某处看到添加存储解决了它,对我没有好处)

我正在 API Level 7 (Android 2.1) 上开发

堆栈跟踪说“启动失败”堆栈跟踪:

请帮忙。

0 投票
0 回答
281 浏览

preview - 使用媒体记录器录制时是否可以更改预览表面

任何人都可以帮助我解决方案或领导吗?我正在使用 MediaRecorder 录制视频。我已将表面视图附加到记录器以进行预览。我有不同的纵向和横向布局。现在问题是当我更改方向时,表面会再次创建(当然,横向n纵向不同)..在这种情况下,为了获得预览,我必须停下来,然后用新的表面准备刻录机并重新开始刻录机。是否可以更改预览表面同时记录?

surfaceCreated(SurfaceHolder holder) 我正在做以下事情

任何帮助都是非常可观的。谢谢

0 投票
5 回答
26706 浏览

android - Android MediaRecorder - “启动失败:-19”

我正在尝试在 Android 上创建一个录像机,并且我已经准备了应该可以工作的代码 - 但我经常收到一条错误消息start failed: -19

这是我的代码:

所有调试日志(从“a”到“d”)都打印在日志中,因此似乎所有步骤mediaRecorder.prepare()都已正确完成。然后它会捕获一条RuntimeExceptionwith 消息start failed: -19。有一个类似的问题,但这并不能解决我的问题。

还有其他原因会出现这样的错误吗?

0 投票
0 回答
500 浏览

android - Android 前置摄像头 - 某些设备上的空 (0km) 文件或启动失败

我的应用程序(ScareApp)使用前置摄像头录制视频时遇到了这个问题。我“认为”我终于解决了这个问题,所以我想我会把它贴在这里给遇到同样事情的任何开发人员......

基本上.. android MediaRecorder 允许您定义视频和音频编码器,并且根据文档,可以对每个使用 DEFAULT。但是,这是指主摄像头的设置,通常比前置摄像头要高得多。例如,Droid Razr 上的 DEFAULT 选择了对前置摄像头不可用的编码 (MPEG_4_SP),这会导致生成空 (0kb) 文件(或在某些其他设备上出现 Camera 100 - start failed 错误)。

我的另一个选择是使用 CameraProfile.get 方法来查找 HIGH_QUALITY 设置,但同样,这默认使用主摄像头。为了解决这个问题,您可以使用设置前置摄像头的 ID

我目前的工作如下:

或者,您可以跳过设置编码器,只需使用

但是由于我的应用程序允许用户选择分辨率,所以我需要设置编码器。

希望这将有助于某人并节省时间和它给我带来的麻烦!

干杯,马克

0 投票
1 回答
4096 浏览

android - 开始视频录制时屏幕闪烁并调整大小

我正在我的应用程序中集成照片/视频捕获,并且在视频捕获方面遇到问题。每当视频录制开始时,屏幕就会闪烁,我会短暂停顿,然后开始视频捕获。但是,使用手机的相机应用程序,根本没有闪烁/暂停。

此外,我的相机预览显示会在recorder.start()调用时立即调整大小。我不明白为什么会这样。它使预览失真(一切看起来都被挤压和变宽)。

我的问题:如何防止开始视频录制时出现闪烁/暂停?如何防止recorder.start()调整预览显示的大小?

每当启用“视频模式”时,initRecording()都会立即调用。一旦用户按下一个按钮,startRecording()就会被调用。最后,当按钮再次被按下时,stopRecording()被调用。不太重要的是,当切换回“图片模式”时,destroyRecorder()会调用它。

0 投票
1 回答
175 浏览

android - 使用 mediarecorder 输入以字符串形式发音的音频

有人帮助我提供一个通过媒体记录器获取音频输入并将其转换为字符串的代码示例。

0 投票
1 回答
6360 浏览

android - 在 Android MediaRecorder 或使用 AudioRecord 上同时录制两个频道?

我可以使用 MediaRecorder 或 AudioRecord 同时录制多个频道吗?我想要的是能够同时录制 MediaRecorder.AudioSource.VOICE_UPLINK 和 VOICE_DOWNLINK。可以分为两个单独的文件或具有两个通道的同一个文件。我尝试使用两个独立的 MediaRecorder 实例。但只有第一个记录。第二个说输入不可用。我还尝试同时使用一个 MediaRecorder 和一个 AudioRecord。同样,两者都单独工作,但是当 MediaRecorder 启动后出现 AudioRecord 时,会显示以下错误。

我还尝试将第二个 MediaRecorder 放在一个新线程上。同样的结果。所以这让我想知道是否可以同时录制。我也在考虑是否可以使用一个带有两个通道的 AudioRecord 从 VOICE_UPLINK 和 VOICE_DOWNLINK 设置两个单独的输入,但如果可能的话,我不知道如何设置源。

提前致谢

编辑:

Lucifer 的回答意味着 AudioRecord 不能在同时运行多个实例的情况下被异步调用。有谁知道可以同时录制 AudioSource.VOICE_UPLINK 和 AudioSource.VOICE_DOWNLINK 的方式?也许使用具有多个通道的单个 AudioRecord 实例?

0 投票
1 回答
927 浏览

android - Android MediaRecorder 导致强制停止错误

可能重复:
MediaRecorder:setCamera() - 错误相机不可用

我正在制作一个允许用户录制音频并将其保存在 SD 卡中某处的应用程序。我正在使用 MediaRecorder 来录制音频。

我正在重用 androiddevblog 网站上的一些代码,因为 stackoverflow 上的另一个用户推荐它来检查这些教程。

我的问题是,每当我单击按钮录制音频时,我都会收到一条错误消息,提示“您的应用程序已被迫停止”。我已经在下面发布了我的录制功能代码。

编辑:我解决了我原来的问题。现在,当我将 recorder.stop() 添加到我的代码中时,我得到了一个非法状态异常。我也更新了下面的代码(唯一的变化是在 startRecorder 方法中)。有任何想法吗 ?

我知道根据我的代码不会记录任何内容。我想首先确保文件被创建和保存。