我正在使用 Android,并且有一个可以使用以下代码从 res/raw 播放电影的 videoview:
public static void startVideo(String moviename) {
playingVideo = true;
final String name = moviename + "x264";
instance.runOnUiThread(new Runnable() {
public void run() {
instance.mVideoView.bringToFront();
instance.mVideoView.setVisibility(View.VISIBLE);
String uri = "android.resource://" + instance.getPackageName()
+ "/raw/" + name;
instance.mVideoView.setVideoURI(Uri.parse(uri));
instance.mVideoView.requestFocus();
instance.mVideoView.start();
}
});
但是,如果我在我的活动的 onCreate 方法中调用以下函数,并使用有效的资产图像文件名作为参数(即“backdrop.jpg”),视频视图似乎不再显示:
public Bitmap getBitmapFromAsset(String strName) {
AssetManager assetManager = this.getAssets();
InputStream is;
Bitmap bitmap = null;
try {
is = assetManager.open(strName);
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
return null;
}
return bitmap;
}
我什至是否在任何代码中使用生成的位图都没有关系,似乎仅仅调用上述函数的行为似乎会导致视频播放器停止显示。只需注释掉仅调用该函数并将结果存储在局部变量中的行,就会导致视频视图再次开始正常显示。
此外,似乎没有其他任何影响......例如,我的程序中有一个 GLSurfaceView,它显示得很好。
我对此感到非常困惑......任何帮助将不胜感激。
提前致谢。