Воспроизведение видео с SD-карты

1

У меня есть приложение, в котором есть видеоролики, в которых поток из Интернета, и я не очень впечатлен их производительностью. Кто-нибудь хотел бы поделиться кодом для загрузки видео с SD-карты.

Спасибо

  • 0
    Вы хотите воспроизводить видео с SD-карты, верно? Лучше, если вы поделитесь своей частью кода для понимания.
  • 0
    Пройдите через код ApiDemo и установите путь, например, - / mnt / sdcard / <оставшаяся часть местоположения и имя файла>
Теги:
videoview

2 ответа

3
Лучший ответ

Я надеюсь, что этот код поможет 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();
                    }
                });
            }
        }
    };

Используйте этот код Этот код, дорогие друзья!

0

Создайте действие и вызовите его, когда вам нужно воспроизвести видео. Вы можете связать видео-путь (будь то 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();         
    } 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню