C# 如何在Unity 5.6中更改视频速度,并提供良好的音频?

C# 如何在Unity 5.6中更改视频速度,并提供良好的音频?,c#,audio,unity3d,unity5,video-player,C#,Audio,Unity3d,Unity5,Video Player,当我使用VideoPlayer.playbackSpeed在Unity 5.6中更改视频速度时,除了音频之外,它工作正常。听起来很糟糕。有什么帮助或建议吗 IEnumerator playVideo() { videoPlayer = gameObject.AddComponent<VideoPlayer>(); audioSource = gameObject.AddComponent<AudioSource>(); videoPlayer.

当我使用VideoPlayer.playbackSpeed在Unity 5.6中更改视频速度时,除了音频之外,它工作正常。听起来很糟糕。有什么帮助或建议吗

IEnumerator playVideo()
{
    videoPlayer = gameObject.AddComponent<VideoPlayer>();

    audioSource = gameObject.AddComponent<AudioSource>();

    videoPlayer.playOnAwake = false;
    audioSource.playOnAwake = false;
    audioSource.Pause();

    videoPlayer.source = VideoSource.Url;
    videoPlayer.url = @"C:\UnityRepo\VideoPlayer\Assets\musicsheet_8326cca0-f00c-11e5-86c5-ebc45ba9e8dc.mp4";
    //videoPlayer.url = "http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4";

    videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;

    videoPlayer.EnableAudioTrack(0, true);
    videoPlayer.SetTargetAudioSource(0, audioSource);


    videoPlayer.Prepare();

    beginWaitTime = Time.time;
    while (!videoPlayer.isPrepared)
    {
        yield return new WaitForEndOfFrame();
    }
    endWaitTime = Time.time;

    Debug.Log(endWaitTime - beginWaitTime);
    PrepareTime.text = (endWaitTime - beginWaitTime).ToString();

    image.texture = videoPlayer.texture;

    videoPlayer.Play();
    audioSource.Play();
}`
IEnumerator播放视频()
{
videoPlayer=gameObject.AddComponent();
audioSource=gameObject.AddComponent();
videoPlayer.playOnAwake=false;
audioSource.playOnAwake=false;
audioSource.Pause();
videoPlayer.source=VideoSource.Url;
videoPlayer.url=@“C:\UnityReporto\videoPlayer\Assets\musicsheet_8326cca0-f00c-11e5-86c5-ebc45ba9e8dc.mp4”;
//videoPlayer.url=”http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4";
videoPlayer.audioOutputMode=VideoAudioOutputMode.AudioSource;
videoPlayer.EnableAudioTrack(0,真);
videoPlayer.SetTargetAudioSource(0,音频源);
videoPlayer.Prepare();
beginWaitTime=Time.Time;
而(!videoPlayer.isPrepared)
{
返回新的WaitForEndOfFrame();
}
endWaitTime=Time.Time;
Log(endWaitTime-beginWaitTime);
PrepareTime.text=(endWaitTime-beginWaitTime).ToString();
image.texture=videoPlayer.texture;
视频播放器;
audioSource.Play();
}`

如果更改视频的速度,音频的速度也会更改,以便与视频匹配。如果在您的情况下这并不重要,并且您希望音频保持其初始速度,您可以尝试将音频导入第二个播放器中,并使视频播放器静音


您可以检查从C#中的mp4文件中提取音频的情况。

如果更改视频的速度,音频的速度也会更改以匹配视频。如果在您的情况下这并不重要,并且您希望音频保持其初始速度,您可以尝试将音频导入第二个播放器中,并使视频播放器静音


您可以检查从C#中的mp4文件中提取音频的相关信息。

代码在哪里?请把它贴出来!此外,音频应该与视频速度相匹配。我说不出当你改变视频速度时,你到底希望音频发生什么。我发布了代码。好的,你希望音频发生什么?在不增加速度的情况下播放…如果这样做,音频将无法与视频同步。这是你想要的吗?密码在哪里?请把它贴出来!此外,音频应该与视频速度相匹配。我说不出当你改变视频速度时,你到底希望音频发生什么。我发布了代码。好的,你希望音频发生什么?在不增加速度的情况下播放…如果这样做,音频将无法与视频同步。这是你想要的吗?这就是我试图避免的。有没有办法分离unity内部的音频?@Dreuzor您使用的是什么类型的视频?你有任何代码吗?@Dreuzor你可以检查一下如何从C#中的mp4文件中提取音频。这是我尽量避免的。有没有办法分离unity内部的音频?@Dreuzor您使用的是什么类型的视频?您有任何代码吗?@Dreuzor您可以检查从C#中的mp4文件中提取音频的相关信息。