【问题标题】:play video from android internal storage从 android 内部存储播放视频
【发布时间】:2014-11-27 07:28:39
【问题描述】:

我正在尝试通过意图播放存储在 android 内部存储器中的视频文件。文件存在那里但是当我尝试通过意图播放它们时,它会给我错误“不支持媒体文件”或“无法播放视频”,具体取决于设备。我找不到我错的地方。这是我的代码

File mydir = activity.getDir("Videos", Context.MODE_PRIVATE);
File fileWithinMyDir = new File(mydir, filename);
String videoResource = fileWithinMyDir.getPath();
Uri intentUri = Uri.parse(videoResource);

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(intentUri, "video/mp4");
startActivity(intent);

我不知道我哪里错了,我该怎么办。任何帮助将非常感激。谢谢你:)

【问题讨论】:

  • 您尝试播放的视频,尝试直接从资源管理器播放到媒体播放器,是否正常工作或出现相同错误。?
  • 两个原因 1.out of buffer memory exception 其他是文件类型不支持..查看logcat你会找到解决方案..
  • 正在从外部存储播放相同的视频。视频没有问题。唯一的问题是我如何从内部存储中访问它。
  • 我认为我们无法从内部存储中访问任何内容???
  • @SarthakMittal 已经在播放内部存储中的音频文件了 :)

标签: android android-intent video


【解决方案1】:

感谢这么多朋友的参与,非常感谢您的努力。我找到了我的问题的解决方案。播放前需要设置文件读取为真。

fileWithinMyDir.setReadable(true, false);

现在这里是从 android 内部存储播放 mp4 视频的完整意图代码。

File mydir = activity.getDir("Videos", Context.MODE_PRIVATE);
File fileWithinMyDir = new File(mydir, headingsList.get(mPosition));
fileWithinMyDir.setReadable(true, false);
String videoResource = fileWithinMyDir.getPath();
Uri intentUri = Uri.fromFile(new File(videoResource));

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(intentUri, "video/mp4");
startActivity(intent);

【讨论】:

    【解决方案2】:

    此代码适用于我:

    Uri fileUri = Uri.fromFile(new File(String file_path));
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setDataAndType(fileUri, URLConnection.guessContentTypeFromName(fileUri.toString()));
    startActivity(intent);
    

    【讨论】:

    • 那么很有可能你没有正确给出路径:)
    • 路径对了,视频就在那里。我已经检查过了,也得到了文件大小,这也是正确的。如果我从外部存储保存并播放它,它可以工作,但不能从内部存储
    • 我记得android不会让你以编程方式访问内部文件夹
    • 哈哈哈,那很好,那我的知识还不足以回答你的问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2013-10-24
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多