Возможность загрузки видео без расширения из StreamingAssets? - PullRequest
0 голосов
/ 07 февраля 2020

Есть ли способ загрузить видеофайл в видеоплеер без указания имени и расширения? Или, по крайней мере, не расширение видеофайла.

vp.url = Application.streamingAssetsPath + "/Video/" + "VideoFile.mp4";

1 Ответ

1 голос
/ 08 февраля 2020

Нет, url ожидает URL или системный путь.

Файл или URL-адрес HTTP, с которого VideoPlayer считывает содержимое.

URL-адреса файлов - это пути файловой системы, которые являются либо абсолютными на платформе, либо относительно проигрывателя root.

В допустимый системный путь входит расширение файла, если он у него есть.


Однако вы можете использовать Directory.GetFiles, чтобы найти файлы по частичное имя в данной папке, например

using System.Linq;
using System.IO;

private string FindVideoFile(string folderPath, string partialFileName)
{
    if(!Directory.Exists(folderPath)
    {
        Debug.LogError($"The folder {folderPath} does not exist!", this);
        return null;
    }

    var result = Directory.GetFiles(folderPath, partialFileName + "*", SearchOption.TopDirectoryOnly).FirstOrDefault();

    return result;
}

, и использовать его, например,

var folder = Path.Combine(Application.streamingAssetsPath, "Video");
var fileName = "VideoFile";

var fullPath = FindVideoFile(folder, fileName);
if(!fullPath.IsNullOrWhiteSpace())
{
    vp.url = fullPath;
}
else
{
    Debug.LogError($"No file called {fileName} was found in folder {folder} ", this);
    return;
}

Печатается на смартфоне, но я надеюсь, что идея проясняется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...