您显示的录制代码似乎是正确的。我只是用ICS测试了我的三星S2上的代码,并且视频以正确的方向播放。 您不显示播放的代码。也许这就是问题所在:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 120) { // i personally prefer using a constant here
VideoView videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVideoURI(data.getData());
videoView.start();
}
}
为videoView布局XML是非常简单的:
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
如果以上不工作,你也可以尝试EXTRA_SCREEN_ORIENTATION设置为不同的值。尽管YMMV,但在我的设备上它似乎没有什么区别。下面的代码,再加上我在一些额外扔,因为你已经要求更多的自定义视频记录代码:
private static final int RECORD_VIDEO = 120;
private void startRecording() {
Intent cameraIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
cameraIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); // low quality
cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5); // limit to 5 seconds
startActivityForResult(cameraIntent, RECORD_VIDEO);
}
有很多更演员:http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_DURATION_LIMIT
你能给示例代码,如果您有它。我没有听到你说的话,当我试着按照你所说的仍然遇到问题时。 – TNR 2013-02-21 06:10:14
我说它可能只是一个小问题,因为你的代码运行正常。使用Ctrl + F11交替模拟器的方向,查看它是否适用于横向或纵向。 – user1978601 2013-03-03 23:42:27