2012-11-19 77 views
0

我的问题有2个部分。在播放视频时调整视图的大小和位置

  1. 如何(任何教程都是完美的)我可以在Android视图中播放不是全屏的视频吗?
  2. 我可以在播放视频时调整视图的位置并更改其位置:
+0

到目前为止您尝试过了什么?现在你的问题完全可以通过谷歌搜索来回答。 – karlphillip

回答

2

对于这种视频操作,你绝对应该看看TextureView

此视图可用于通过MediaPlayer呈现视频,并且您可以对其应用任何转换。

下面是如何用它来播放视频(有一个愚蠢的缩放动画)一个简单的例子:

public class TestActivity extends Activity implements SurfaceTextureListener { 

private static final String VIDEO_URL = "http://www.808.dk/pics/video/gizmo.mp4"; 

private MediaPlayer player; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    player = MediaPlayer.create(this, Uri.parse(VIDEO_URL)); 

    setContentView(R.layout.main); 

    TextureView videoView = (TextureView) findViewById(R.id.video); 
    videoView.setSurfaceTextureListener(this); 


    // Scaling 
    Animation scaling = new ScaleAnimation(0.2f, 1.0f, 0.2f, 1.0f); 
    scaling.setDuration(2000); 
    videoView.startAnimation(scaling); 
} 

@Override 
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { 
    player.setSurface(new Surface(surface)); 
    player.start(); 
} 

@Override 
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) { } 

@Override 
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { return false; } 

@Override 
public void onSurfaceTextureUpdated(SurfaceTexture surface) { } 
} 

用下面的main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextureView 
     android:id="@+id/video" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</FrameLayout> 

注意,这TextureView仅适用于API级别> = 14.

+0

不支持库包括TextureView,因为我想用的是Android 2.2 –

+0

我不知道,你必须检查出来 – fiddler

+0

hi @fiddler,我可以知道如何调整视频大小以适应调整后的TextureView ,请帮助...提前致谢 – bala