Tarun Bisht Tarun Bisht - 2 months ago 12
CoffeeScript Question

Can't play this video error

public class MainActivity extends AppCompatActivity {
Button clk;
VideoView videov;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
clk=(Button) findViewById(R.id.video);
videov=(VideoView)findViewById(R.id.videoView);
}

public void videoplay(View v){
String videopath = "android.resource://"+getPackageName()+"+R.raw.movie";
Uri uri =Uri.parse(videopath);
videov.setVideoURI(uri);
videov.requestFocus();
videov.start();

}
}


Can't play this video error...!! see the picture Screen Shot
What to do ?
After pressing play button it says cant play this video..!!
Need solution of this problem.

Answer

Hi day before yesterday i had same problem and tried almost everything but didn't get any success. After that i used this library and it work fine. Just follow few steps:

Step1. Add it to your gradle

compile "fm.jiecao:jiecaovideoplayer:4.7.0"

Step2. Add it as your video play in xml layout.

<fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard
    android:id="@+id/videoPlayer"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Step 3. Check from here how to use this library in your class,

public class PlayVideoActivity extends BaseActivity {

@BindView(R.id.videoPlayer)
JCVideoPlayerStandard mVideoPlayer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    restoreFromIntent(getIntent());
}

@Override
public int getLayout() {
    return R.layout.activity_play_video;
}

//create intent for this activity with all the necessary params
public static Intent createIntent(Context context, String videoUrl) {
    Intent intent = new Intent(context, PlayVideoActivity.class);
    intent.putExtra(ValueConstants.VIDEO_URL, videoUrl);
    return intent;
}

// get video path from intent and play the video here
private void restoreFromIntent(Intent intent) {
    String videoPath = intent.getExtras().getString(ValueConstants.VIDEO_URL);
    mVideoPlayer.setUp(videoPath
            , JCVideoPlayerStandard.SCREEN_LAYOUT_LIST, "");
}

@Override
public void onBackPressed() {
    if (JCVideoPlayer.backPress()) {
        return;
    }
    super.onBackPressed();
}

@Override
protected void onPause() {
    super.onPause();
    JCVideoPlayer.releaseAllVideos();
}
}

One more bonus thing from my side. You can do video cache also by using this library. Yesterday i found this also.One time play from internet.After it play without internet also.

Thanks hope this will help you.