【发布时间】:2014-06-12 15:00:29
【问题描述】:
我必须从图库中选择一个视频并播放它,但我无法播放它,但对于图像,我得到了它,就像我也尝试过视频一样,但如果有人有任何想法,它会出错帮帮我。
这是我的代码,但它不起作用,
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.VideoView;
public class videoView extends Activity implements OnClickListener {
private VideoView videoPreview;
Button button;
private static final int SELECT_VIDEO_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview);
button = (Button) findViewById(R.id.button1);
button.setOnClickListener((OnClickListener) this);
}
public void onClick(View v) {
if(v ==button){
Intent intent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT_VIDEO_REQUEST);
}}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_VIDEO_REQUEST && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Video.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
videoPreview = (VideoView) findViewById(R.id.videoPreview);
videoPreview.setVideoPath(picturePath);
}
}}
【问题讨论】:
-
但此代码在 android 目标版本 14 以下运行。
-
我认为它适用于所有人,请检查您的版本详细信息并进行更改。
-
好的,让我再检查一次,如果我错了,请告诉我。
-
但是先生,它显示列表视图我需要的很简单,只需打开图库并选择一个视频然后播放它。