2017-08-06 116 views
1

我正努力從Unity視頻播放器播放視頻。Unity VideoPlayer不播放音頻

視頻播放正常,但聲音不起作用。

這裏是我使用的代碼基於this線程。

public VideoClip VideoClip; 
    private AudioSource audioSource; 
    private IEnumerator videoCoRoutine; 

    void Awake() 
    { 
     VideoPlayer videoPlayer = gameObject.AddComponent<VideoPlayer>(); 
     audioSource = gameObject.AddComponent<AudioSource>(); 
     videoPlayer.clip = VideoClip; 
     videoPlayer.source = VideoSource.VideoClip; 
     //videoPlayer.Prepare(); 
     videoPlayer.renderMode = VideoRenderMode.CameraNearPlane; 
     videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource; 
     videoPlayer.EnableAudioTrack(0, true); 
     videoPlayer.SetTargetAudioSource(0, audioSource); 
     videoPlayer.Play(); 
     audioSource.Play(); 
     //StartCoroutine(PlayVid()); 
     ContinueBtn.onClick.AddListener(OnContinue); 
    } 

任何人都可以幫忙嗎?

感謝

+0

[使用新的Unity VideoPlayer和VideoClip API播放視頻](https://stackoverflow.com/questions/41144054/using-new-unity-videoplayer-and-videoclip-api-to-play-video ) – Programmer

+0

認真的傢伙,你必須在'SetTargetAudioSource'後面調用'videoPlayer.Prepare();'。看到重複。你鏈接到一個工作的答案,但後來犯了一個錯誤。如果你不能得到它的工作,那麼使用來自重複答案的代碼是這樣的。不要修改它。 – Programmer

回答

1

經過反覆試驗,這裏是一個需要被調用來從Windows 10使用Unity 2017.1 C#玩視頻片段,我已經找到了最低:

public class VideoPlayerTest : MonoBehaviour { 

    public VideoPlayer player; 
    public VideoClip clip; 
    public AudioSource audioSource; 

    // Use this for initialization 
    void Start() { 
     player.audioOutputMode = VideoAudioOutputMode.AudioSource; 
     player.SetTargetAudioSource(0, audioSource); 
     player.source = VideoSource.VideoClip; 
     player.clip = clip; 
     player.Play(); 
    } 
} 

使用遊戲物體配置是這樣的: Unity Editor Inspector 有了這個MP4文件(下載並拖放到你的資產目錄): https://www.quirksmode.org/html5/videos/big_buck_bunny.mp4

祝你好運!我花了很多時間來處理啓用軌道/頻道,並且在陷入這種簡單配置之前似乎沒有做任何事情。