Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Unity中倒带视频播放器?_C#_Unity5_Video Player - Fatal编程技术网

C# 如何在Unity中倒带视频播放器?

C# 如何在Unity中倒带视频播放器?,c#,unity5,video-player,C#,Unity5,Video Player,我正在尝试在Unity中倒带一个视频播放器,同时我正在使用新的视频播放器API和mp4。我尝试将播放速度设置为负数,但它暂停了。 我目前的解决办法是 在我的回放按钮脚本中: void Update () { if (rewind == true) { VideoController.Backward2Seconds(); } } 在我的视频控制器脚本中 public void Backward2Seconds() { if (!IsPlaying)

我正在尝试在Unity中倒带一个视频播放器,同时我正在使用新的视频播放器API和mp4。我尝试将播放速度设置为负数,但它暂停了。 我目前的解决办法是

在我的回放按钮脚本中:

void Update ()
{

    if (rewind == true) {
        VideoController.Backward2Seconds();

    }

}
在我的视频控制器脚本中

public void Backward2Seconds() {
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - 2;
}
void Update ()
{
    if (rewind == true) {
        VideoController.Backward(Time.deltaTime);
    } 
}
public float Speed;

public void Backward(float deltaTime) 
{
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - deltaTime*Speed;
}

有更好的办法吗?因为这太落后了。

不幸的是,我担心您的第一次尝试是最好的,只是您的平台不支持它。它可以在其他设备上工作。根据报告:

对负值的支持取决于平台

由于此解决方案似乎不适用于您的设备,因此考虑到每帧之间经过的时间,您的解决方案可能会有所改进。请尝试以下操作:

在回放按钮脚本中

public void Backward2Seconds() {
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - 2;
}
void Update ()
{
    if (rewind == true) {
        VideoController.Backward(Time.deltaTime);
    } 
}
public float Speed;

public void Backward(float deltaTime) 
{
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - deltaTime*Speed;
}
在您的VideoController脚本中

public void Backward2Seconds() {
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - 2;
}
void Update ()
{
    if (rewind == true) {
        VideoController.Backward(Time.deltaTime);
    } 
}
public float Speed;

public void Backward(float deltaTime) 
{
    if (!IsPlaying) return;
        videoPlayer.time = videoPlayer.time - deltaTime*Speed;
}

这将允许您控制倒带的速度,同时具有更流畅的效果

我尝试过它,它似乎确实使播放更流畅。没有太多,但确实有所改善。