vimeo-unity-sdk: Как заменить существующее видео? - PullRequest
0 голосов
/ 27 ноября 2018

Мне удается загрузить новое видео в Vimeo из Unity, но я не знаю, как заменить файл существующего видео.

Вот кирпичи, которые у меня есть до сих пор:

  • У меня есть ссылка на компонент VimeoRecorder в моем скрипте

  • Мой видеомагнитофон подключен к рекордеру AVPro

  • Я получаю существующие видео с использованием временного компонента VimeoApi

  • И я запускаю захват AVPro через открытый интерфейс

В текущем коде я неНичего особенного не происходит при поиске существующих видео с таким же именем, и при загрузке создается новое видео с таким же именем.Никакая неявная замена ...

Код ниже:

using System;
using System.IO;
using UnityEngine;
using RenderHeads.Media.AVProMovieCapture;
using UnityEngine.Events;
using Vimeo.Recorder;
using Vimeo;

public class CaptureProxy : MonoBehaviour
{
    public VimeoRecorder m_vimeoRecorder;
    VimeoApi m_vimeoApi;
    public CaptureBase m_movieCapture;

    void Start()
    {        
            m_movieCapture = gameObject.AddComponent<CaptureFromTexture>();
            m_movieCapture._isRealTime = false;
            m_movieCapture._manualUpdate = true;
            m_movieCapture._useMediaFoundationH264 = true;
            m_movieCapture._postCaptureSettings.writeFastStartStreamingForMp4 = true;    
            m_vimeoRecorder.avproEncoder = m_movieCapture;

        m_vimeoApi = gameObject.AddComponent<VimeoApi>();
        m_vimeoApi.token = m_vimeoRecorder.GetVimeoToken();
        m_vimeoApi.OnRequestComplete += VimeoGetVideosComplete;
        m_vimeoApi.OnError += OnVimeoRequestError;
        m_vimeoApi.GetVideosInFolder(m_vimeoRecorder.currentFolder);
    }

    private void VimeoGetVideosComplete(string response)
    {
        m_vimeoApi.OnRequestComplete -= VimeoGetVideosComplete;
        m_vimeoApi.OnError -= OnVimeoRequestError;
        Destroy(m_vimeoApi);

        var json = Vimeo.SimpleJSON.JSONNode.Parse(response);
        Vimeo.SimpleJSON.JSONNode videoData = json["data"];

        if (videoData.Count > 0)
        {
            for (int i = 0; i < videoData.Count; i++)
            {
                VimeoVideo video = new VimeoVideo(videoData[i]);
                if (video.name.StartsWith(m_recordParams.filetag))
                {
                    Debug.LogWarning("Video already exists at url: " + video.uri);
                    // And that's what I know so far
                    // I would like to give the VimeoVideo object to m_videoRecorder for it to upload the video file to the same entry
                }
            }
        }

    }

    public void StartCapture()
    {
        // starts the capture
        m_movieCapture.StartCapture();

    }

    public void StopCapture()
    {
        // stops the capture, and triggers Vimeo upload
        m_movieCapture.StopCapture();

    }

}

1 Ответ

0 голосов
/ 27 ноября 2018

К сожалению, Vimeo Unity SDK в настоящее время не поддерживает замену видеофайлов.Однако эта функция доступна в API Vimeo.Когда вы вошли в свою учетную запись Vimeo, посетите эту страницу , чтобы узнать, как можно изменить Unity SDK для замены видео Vimeo.

Также не стесняйтесь подавать запрос на Github..

...