【问题标题】:How to play a video file on Android with Delphi XE5 from a private dir如何在 Android 上使用 Delphi XE5 从私有目录播放视频文件
【发布时间】:2014-03-12 11:08:29
【问题描述】:

我正在使用 Delphi XE5 和 Firemonkey 构建一个用于播放视频文件的 Android 应用程序: 此代码有效:

var
  Intent: JIntent;
  fChosenVideo : string;
  Data: Jnet_Uri;


  fChosenVideo := IncludeTrailingPathDelimiter(TPath.GetSharedDownloadsPath) + 'myVideo.mp4';
  Data := TJnet_Uri.JavaClass.parse(StringToJString('file://' + fChosenVideo));
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setDataAndType(Data, StringToJString('video/mp4'));
  SharedActivity.startActivity(Intent);

但我真的希望它从应用程序私人文件夹中播放:

  fChosenVideo := IncludeTrailingPathDelimiter(TPath.GetDocumentsPath)+'myMovie.mp4';

我发现我应该能够设置权限,以便外部应用程序可以通过在某处设置 MODE_WORLD_READABLE 来读取文件,但我似乎无法掌握如何完成此操作。

感谢任何帮助。 提前致谢 延斯福吉

【问题讨论】:

    标签: android delphi video delphi-xe5


    【解决方案1】:

    您的问题已经回答here
    将文件放到公共场所后,您可能需要更改属性,例如 MODE_WORLD_READABLE。 在 delphi 中,您使用类似的方法来执行此操作:

    var
      xFas: TFileAttributes;
    begin
      sFnExt = '/sdcard/file1.mp4';
      xFas:= System.IOUtils.TFile.GetAttributes(sFnExt);
      Include(xFas,TFileAttribute.faOthersRead);
      System.IOUtils.TFile.SetAttributes(sFnExt,xFas);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多