내 질문에 2 부분이 있습니다.비디오를 재생하는 동안 뷰의 크기를 변경하고 위치를 변경하십시오.
- 전체 화면이 아닌 Android보기에서 비디오를 재생할 수있는 방법 (자습서가 완벽 할 것)?
- 비디오가 재생되는 동안 해당보기의 위치를 조정하고 위치를 변경할 수 있습니까?
내 질문에 2 부분이 있습니다.비디오를 재생하는 동안 뷰의 크기를 변경하고 위치를 변경하십시오.
이런 종류의 동영상 조작을 위해서는 TextureView을 꼭보아야합니다.
이보기는 MediaPlayer를 통해 비디오를 렌더링하는 데 사용할 수 있으며 원하는 모든 변형을 적용 할 수 있습니다. 이 해당
가<?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>
참고 : 다음 main.xml에 함께
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) { }
}
: 여기
은 (a 벙어리 스케일링 애니메이션) 동영상을 재생하는 데 사용하는 방법의 간단한 예는 TextureView는 API 레벨> = 14에서만 사용할 수 있습니다.
지금까지 해보신 것은 무엇입니까? 지금 당신의 질문은 인터넷 검색으로 완벽하게 대답 할 수 있습니다. – karlphillip