У меня есть приложение, в котором есть видеоролики, в которых поток из Интернета, и я не очень впечатлен их производительностью. Кто-нибудь хотел бы поделиться кодом для загрузки видео с SD-карты.
Спасибо
Я надеюсь, что этот код поможет u
public class video extends Activity{
VideoView video_view;
String ex_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eccryption);
video_view = (VideoView) findViewById(R.id.videoView1);
ex_name = getIntent().getExtras().getString("video_name");
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(video_view);
video_view.setMediaController(new MediaController(this));
handler.sendEmptyMessage(1);
}
Handler handler = new Handler(){
public void handleMessage(Message msg){
int pos=msg.what;
if (pos == 1){
video_view.setVideoPath(Environment.getExternalStorageDirectory()+"/"+ex_name+".mp4");
video_view.requestFocus();
video_view.start();
Log.d("Before Video Finish", "i m in before video finish");
video_view.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
finish();
}
});
}
}
};
Используйте этот код Этот код, дорогие друзья!
Создайте действие и вызовите его, когда вам нужно воспроизвести видео.
Вы можете связать видео-путь (будь то URL-адрес или SD-карта или ресурс) в намерении.
Затем в вашей активности, которая должна содержать только FrameLayout
с VideoView
, выполните следующие действия:
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mVideoPath = extras.getString(INTENT_EXTRA_URI);
int resId = getResId(mVideoPath, R.raw.class);
String uriPath = null;
if (mVideoPath.startsWith("http://") || mVideoPath.startsWith("https://")) {
uriPath = mVideoPath;
} else if (mVideoPatah.startsWith("/mnt/sdcard/")) {
uriPath = mVideoPath;
} else {
int resId = getResId(mVideoPath, R.raw.class);
uriPath = "android.resource://" + getResources().getResourcePackageName(resId) + "/" + resId;
}
mVideoView.setVideoURI(Uri.parse(uriPath));
MediaController mediaController = new MediaController(this);
mVideoView.setMediaController(mediaController);
mVideoView.requestFocus();
mVideoView.start();
}