我有一个奇怪的问题。 (我是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);
}
});
那么为什么自更新以来它停止工作并且现在必须添加它?
答案 0 :(得分:0)
那么为什么自更新以来它停止工作并且现在必须添加它?
严格来说,我们无法真正回答这个问题。
您添加的代码是安排让您的视频被MediaStore
编入索引的代码。接收file:///
Uri
的视频播放器 - 正如您在ACTION_VIEW
Intent
中使用的那样 - 不应该真正关心MediaStore
。显然,您的设备升级到Android 5.0后,或者确实如此。恕我直言,这是视频播放器中的一个错误。
现在,一般情况下,如果您希望用户能够与您的应用分开处理视频,则需要MediaStore
对其进行索引。这将自动发生......最终。你的代码添加使它更快地发生,这通常是一个好主意。
所以,我会更多地看到你绊倒了视频播放器中的一个错误,其修复程序碰巧是你可能需要的一些代码。
换句话说,这只是办公室的另一天......: - )