【问题标题】:Can't play this video error无法播放此视频错误
【发布时间】:2016-10-02 21:01:22
【问题描述】:
    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();

    }
    }

无法播放此视频错误...!!看图Screen Shot 该怎么办 ? 按下播放按钮后,它说无法播放此视频..!! 需要解决这个问题。

【问题讨论】:

  • 是的,你应该去第三方图书馆
  • 你能告诉我怎么做吗
  • 确定请稍候..

标签: java android video coffeescript


【解决方案1】:

您好,前天我遇到了同样的问题,几乎尝试了所有方法,但没有成功。之后我使用了这个库,它工作正常。只需几步:

第 1 步。 将其添加到您的 gradle 中

compile "fm.jiecao:jiecaovideoplayer:4.7.0"

Step2.将其添加为您在 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();
}
}

我这边还有一件额外的事情。您也可以使用此library 进行视频缓存。昨天我也发现了这个。一次从互联网播放。之后它也没有互联网播放。

更新答案:

上面的例子我提供了从 url 播放在线视频,但是这个问题与视频路径问题有关。

刚刚更改了这条路径:

String videopath = "android.resource://"+getPackageName()+"+R.raw.movie";
Uri uri =Uri.parse(videopath);

对此,

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.yourvideo);

谢谢,希望对你有帮助。

【讨论】:

  • 我不知道该怎么感谢你..!!但你现在对我来说就像上帝一样感谢你的帮助:)
  • 没问题,试试这个方法,如果你有任何问题,请告诉我
  • 如何将步骤1添加到gradle?
  • 依赖项下..复制粘贴即可
  • 是的,只是您需要的一些
猜你喜欢
  • 1970-01-01
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 2018-12-20
相关资源
最近更新 更多