2013-02-19 112 views
3

我正在做一个Android视频应用程序,其中我录制了一些视频并管理列表中的视频。视频被正确拍摄,但它们显示为横向(我的意思是如果我的设备实际处于横向模式,我可以在纵向模式下观看视频)。任何人都可以让我知道如何解决这个问题。我用下面的代码来记录录制的视频在Android设备中横向播放三星设备

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
startActivityForResult(cameraIntent,120); 

而且我会将视频存储在图库中。与自定义视频录制相关的任何代码也很有帮助。你可以在下面的图片中看到我的问题。我尝试了很多方法,比如放setDisplayOrientation()setOrientationHint()。我想知道这个问题没有解决方案吗?那么开发视频应用程序有多少。请有人帮助我。

我指的是thisthis也有链接。

enter image description here

回答

1

确认你在main.xml中的文件(纵向和横向)有一个备用的布局了。这应该正常地照顾您的设备的两个方向。 这两个xml文件应该在不同的Layout文件夹中具有相同的名称(例如main.xml)。

+0

你能给示例代码,如果您有它。我没有听到你说的话,当我试着按照你所说的仍然遇到问题时。 – TNR 2013-02-21 06:10:14

+0

我说它可能只是一个小问题,因为你的代码运行正常。使用Ctrl + F11交替模拟器的方向,查看它是否适用于横向或纵向。 – user1978601 2013-03-03 23:42:27

1

这将是一个黑客位的(虽然根据this post,有没有办法来记录不同的方位视频),但以上API级别14,你可以用Media Effects转动你的VideoView

0

您显示的录制代码似乎是正确的。我只是用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

相关问题