我在 Adobe AIR 中有这个测试应用程序,使用 Android ANE 插入 VideoView 来观看视频。问题是一旦添加了视频,屏幕的其余部分就无法点击。
这是用于插入 VideoView 的代码:
// File: VideoPlayerTestActivity.java
protected void onCreate(Bundle savedInstance)
{
super.onCreate(savedInstance); // always call this
VideoView videoHolder = new VideoHolder(this);
this.programaticallyAddToLayout(videoHolder);
// Add the media controllers at bottom of video, instead of screen bottom
videoHolder.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
MediaController mc = new MediaController(VideoPlayerTestActivity.this);
videoHolder.setMediaController(mc);
mc.setAnchorView(videoHolder);
}
});
}
});
videoHolder.setMediaController(new MediaController(this));
videoHolder.setVideoURI( Uri.parse(mediaURL) );
videoHolder.requestFocus();
videoHolder.start();
}
这里是程序化 AddToLayout() 方法的代码,它创建了应该在 XML 中的布局。(我没有使用 xml 布局文件,出于某种我仍然无法理解的原因,应用程序找不到 xml 文件):
private void programaticallyAddToLayout( VideoView videoView )
{
FrameLayout layout = new FrameLayout(this);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(800, 600);
layoutParams.gravity = Gravity.CENTER;
layout.setId(1);
layout.setLayoutParams(layoutParams);
videoView.setId(2);
layout.addView( videoView, layoutParams );
this.setContentView( layout );
}
这是应用程序的屏幕截图,供参考: