- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经在各种手机上测试了我的应用程序。我的应用程序的主要功能是通过手机摄像头拍照和录制视频。我在大多数手机上都没有遇到问题,但我确实在 Motorola DROID RAZR 上遇到过这个问题。 .当我拍照时,我的应用程序工作正常。但是我在录制视频时遇到了问题。当我录制视频时,出现黑屏。移动屏幕上没有显示预览。我不知道为什么会这样,但在大多数手机上它都能正常工作。在这款手机(droid razr)上拍照效果很好。
摩托罗拉 DROID RAZR 配置,
这是我的代码,
Camera camera = Camera.open();
Parameters params = camera.getParameters();
camera.setDisplayOrientation(90);
camera.setParameters(params);
camera.setDisplayOrientation(90);
MediaRecorder recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
recorder.setVideoSize(640, 480);
recorder.setMaxDuration(25000);
recorder.setOrientationHint(90);
更新:
我已经在摩托罗拉 Droid Razr 模拟器上测试了这个应用程序。我得到以下异常,
MediaRecorder(430): prepare failed: -17
System.err(430): java.io.IOException: prepare failed.
System.err(430): at android.media.MediaRecorder._prepare(Native Method)
System.err(430): at android.media.MediaRecorder.prepare(MediaRecorder.java:590)
但是我在我的其他模拟器上没有得到这个异常。如何解决这个问题?
最佳答案
终于找到了解决办法。下面的代码适用于所有设备。 ;)
Holder holder = getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
Camera camera = Camera.open();
try {
camera.setPreviewDisplay(holder);
camera.startPreview();
} catch (IOException e) {
Log.e(TAG, e.getMessage());
e.printStackTrace();
}
camera.unlock();
MediaRecorder recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setVideoSize(640, 480);
recorder.setVideoFrameRate(20);
recorder.setVideoEncodingBitRate(3000000);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
try {
String videopath = File.createTempFile("video", ".mp4")
.getAbsolutePath();
recorder.setOutputFile(videopath);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
recorder.setPreviewDisplay(holder.getSurface());
关于android - 录制视频时摩托罗拉 DROID RAZR 的相机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770986/
我已经在应用程序中集成了ACRA故障报告工具。许多拥有“RAZR i”的用户对启动问题表示歉意,但我无法在ACRA报告中识别出这种设备。你们中的有些人知道此设备使用哪种名称? 谢谢 最佳答案 这不是A
我的应用程序要求我拍照,而我运行时遇到问题的唯一设备是摩托罗拉 Razr。我已经在 Nexus One、Droid X、Droid 2、Sensation 和其他一些设备上尝试过。这是我正在使用的代码
我已经在各种手机上测试了我的应用程序。我的应用程序的主要功能是通过手机摄像头拍照和录制视频。我在大多数手机上都没有遇到问题,但我确实在 Motorola DROID RAZR 上遇到过这个问题。 .当
据我所知,Razr i 是目前唯一相关的基于英特尔的智能手机。 我们的应用程序使用通过 NDK 包含的 C++ 库。现在我想知道我是否需要添加 x86 支持才能让这个应用程序在 Razr i 上运行。
我正在不同的设备上测试我的应用程序,在摩托罗拉 Razr 上,图像较小并且布局不正确。 此设备的屏幕尺寸归类为正常。就像我正在测试的不同设备一样。 我将所有图像放在 5 个不同的可绘制文件夹中(dra
我正在为自己的手机开发,无意营销我的应用程序。有谁知道 Razr 是 h、m 还是 l 设备?我是一种部署到我的实际手机的方法。 最佳答案 Droid Razr 的分辨率为 960 x 540,对吗?
我已经为 android 2.3 开发了一个 UI。 UI 包含一个列表,以及屏幕底部的一些图标。 我用过@android:style/Theme.Holo.Light在 标签。 我已经在 Samsu
栈处女,请温柔点。 最近安装的带 ADT bundle 和 adb 的 Eclipse 找不到我的 USB 设备 (Motorola RAZR HD)。到目前为止,我已经完成了以下操作: adb ki
这是我的第一篇文章,所以如果我做错了什么或措辞有误,请让我知道,如果这篇文章比平常更长或更冗长,我很抱歉,我只是想提供一个良好的背景。同样,如果这不是正常格式,请告诉我,因为我想在未来更多地利用和贡献
我在 Windows 7 32 位上使用 Eclipse ADT 包。 我正在尝试在运行 android 4.4.2 kitkat 的手机 (Motorola Droid Razr Maxx hd)
启动 SMS 消息 Intent (编写预填充文本)不再适用于新的 Droid RAZR ICS 操作系统。还有其他方法可以完成这项任务吗? 我都试过了: Intent sendIntent =
我是一名优秀的程序员,十分优秀!