繁体   English   中英

如何访问android内部存储中的文件为Unity应用程序?

[英]How to access file in android internal storage for unity app?

我正在使用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类可以将压缩文件读入内存,然后您可以使用System.File.WriteAllBytes将其写入其他位置(例如Application.temporaryCachePath )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM