"无法播放视频,抱歉此视频无法播放"尝试显示来自相机意图的视频时

时间:2015-08-18 13:26:35

标签: android android-intent video

我有一个奇怪的问题。 (我是android新手)在我的应用程序中,我有意发射摄像机以及启动摄像机。现在看来,当我点击图像按钮显示图像时,它会显示图像。但是当试图显示视频时,它表示"无法播放视频"。所以我觉得我的手机有问题所以我重新启动了手机,然后它就好了。因此,当再次测试时,它没有。

所以我知道我的代码没有任何问题,但似乎无法显示视频。 (并且仅在重启设备后播放)

有人可以帮助我吗?

由于

修改

拍摄我使用的视频:

Intent imageIntent = new Intent    (android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
    timeStamp = new SimpleDateFormat("ddMMMyyyy_HH:mm:ss").format(new Date());
    File videosFolder = new File(Environment.getExternalStorageDirectory(), "Cool Videos");
    videosFolder.mkdirs();
    image = new File(imagesFolder.getPath(), "Cvidoes_" + timeStamp + ".mp4");
    fUri = Uri.fromFile(image);

    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    startActivityForResult(imageIntent, TAKE_PICTURE);

然后在我的"全屏显示"

Intent intent = new Intent();
      intent.setAction(android.content.Intent.ACTION_VIEW);
      intent.setDataAndType(Uri.fromFile(temp_file),getMimeType(temp_file.getAbsolutePath()));
      startActivity(intent); 

但是在我最近更新到Android 5.0版之前,奇怪的事情已经发挥作用。

编辑 2

好的,我已经解决了这个问题。

我在" OnActivityResult"中几乎没有任何东西。部分,但添加了这一切,所有这些都在重新运作:

MediaScannerConnection.scanFile(
              getApplicationContext(),
              new String[]{image.getAbsolutePath()},
              null,
              new OnScanCompletedListener() {
                 @Override
                 public void onScanCompleted(String path, Uri uri) {
                    Log.v("VideoScan",
                          "file " + path + " was scanned seccessfully: " + uri);
                 }
              });   

那么为什么自更新以来它停止工作并且现在必须添加它?

1 个答案:

答案 0 :(得分:0)

  

那么为什么自更新以来它停止工作并且现在必须添加它?

严格来说,我们无法真正回答这个问题。

您添加的代码是安排让您的视频被MediaStore编入索引的代码。接收file:/// Uri的视频播放器 - 正如您在ACTION_VIEW Intent中使用的那样 - 不应该真正关心MediaStore。显然,您的设备升级到Android 5.0后,或者确实如此。恕我直言,这是视频播放器中的一个错误。

现在,一般情况下,如果您希望用户能够与您的应用分开处理视频,则需要MediaStore对其进行索引。这将自动发生......最终。你的代码添加使它更快地发生,这通常是一个好主意。

所以,我会更多地看到你绊倒了视频播放器中的一个错误,其修复程序碰巧是你可能需要的一些代码。

换句话说,这只是办公室的另一天......: - )