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(); } }
无法播放此视频错误… !! 看到图片 截屏 怎么办?按下播放按钮后,它说不能播放此视频。需要解决这个问题。
您好,前天我遇到了同样的问题,几乎尝试了所有方法,但都没有成功。之后,我使用了这个库,并且运行良好。只需遵循几个步骤:
第1步。 将其添加到您的gradle
compile "fm.jiecao:jiecaovideoplayer:4.7.0"
第2步。 将其添加为xml布局中的视频播放。
<fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard android:id="@+id/videoPlayer" android:layout_width="match_parent" android:layout_height="match_parent" />
第3步。 从此处检查如何在您的班级中使用此库,
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(); } }
我这边还有另外一件事。您也可以使用此库进行视频缓存。昨天我也发现了这一点。一次是从互联网上播放。之后也没有互联网播放。
更新的答案:
上面的示例中,我提供了从url播放在线视频的功能,但是这个问题与视频路径问题有关。
刚刚更改了此路径:
String videopath = "android.resource://"+getPackageName()+"+R.raw.movie"; Uri uri =Uri.parse(videopath);
为此,
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.yourvideo);
希望对您有所帮助。