如何在Android内部存储中访问Unity应用程序中的文件



我正在使用easymovietexture插件,我想访问所有视频保存的Android文件夹。首先,我尝试访问流式资产文件夹,但在应用程序中无法访问(将文件复制到Android中的资产文件夹中),因此我创建了所有视频的文件夹,我想访问该特定文件夹以单独播放视频。这是一个示例代码,该代码从URL加载视频,但我希望它可以从存储 -

中访问它。
void OnGUI() {

    if( GUI.Button(new Rect(50,50,100,100),"Load"))
    {
        scrMedia.Load("Url of video");
        m_bFinish = false;
    }

如何在间隔存储中访问视频以播放它们。提前致谢。

您可以使用application.persistentdatapath访问内部存储。

https://docs.unity3d.com/scriptreference/application-persistentdatapath.html

您可以查看使用哪个目录

Debug.log(Application.persistentDataPath)

StreamingAssets文件夹中的任何文件都将包含在您的构建中,可在Application.streamingAssetsPath指定的路径上访问。

但是,该手册提到了Android的重要警告:

在Android上,文件包含在压缩.jar文件中(该文件与标准ZIP压缩文件基本相同的格式)。这意味着,如果您不使用Unity的www类来检索文件,则需要使用其他软件来查看.jar存档并获取文件。

如果您的视频插件可以访问APK中的文件,则您只需要指定正确的路径。

如果您的视频插件期望一个传统的文件,则需要创建一个。Unity的WWW类可以将压缩文件读取到内存中,然后您可以将其写入其他位置(例如Application.temporaryCachePath)使用System.File.WriteAllBytes