androidandroid-activityvideovideo-streamingandroid-videoview

Android: Video not playing from raw folder


I want to play a .mp4 video in a Videoview but its not playing. An error is generated "Sorry! video cannot be played".

public class MainActivity extends Activity {

    VideoView videoview;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoview=(VideoView)findViewById(R.id.video);
        videoview.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.snowfall));
        videoview.start();

    }

Any help will be appreciated. Thank you !


Solution

  • This error is thrown when framework isn't ready to play a video. Your videoview.start() is called too early. Add listener to start playin when video is ready. Replace videoview.start() with this:

        videoview.setOnPreparedListener(new OnPreparedListener() {
    
            @Override
            public void onPrepared(MediaPlayer mp) {
               videoview.start();
            }
        });