C# 如何在Unity中倒带视频播放器?
我正在尝试在Unity中倒带一个视频播放器,同时我正在使用新的视频播放器API和mp4。我尝试将播放速度设置为负数,但它暂停了。 我目前的解决办法是 在我的回放按钮脚本中: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)
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;
}
这将允许您控制倒带的速度,同时具有更流畅的效果我尝试过它,它似乎确实使播放更流畅。没有太多,但确实有所改善。