2014-03-12 61 views
1

我用Delphi XE5和Firemonkey建立一個Android應用程序是播放視頻文件播放視頻文件在Android上的Delphi XE5: 此代碼工作:如何從一個私人目錄

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文件,但我似乎無法掌握如何做到這一點。

任何幫助表示讚賞。 在此先感謝 延忽悠

回答

1

你的問題已經回答了你把你的文件,你可能要改變像MODE_WORLD_READABLE的attribs公共場所here
後。 在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); 
相關問題