VideoPlayer播放视频在VideoClip模式下无声音

1.VideoSource的两种情况

1)Url模式
VideoPlayer播放视频在VideoClip模式下无声音_第1张图片
Url模式下,AudioOutputMode设置为AudioSouce,拖拽某个AudioSource组件到VideoPlayer上即可播放声音,通过AudioSource的Volume来控制音量的大小。

2)VideoClip模式
VideoPlayer播放视频在VideoClip模式下无声音_第2张图片
AudioOutputMode仅为Direct时,才可以播放声音,但是无法控制音量的大小。
且AudioSource模式下,没有显式的AudioSource可拖拽(网上那些VideoClip模式下可以拖拽的图不知道怎么弄的)。
笔者找了下API,与Volume相关的:

public void SetDirectAudioVolume(System.UInt16 trackIndex, System.Single volume);

但是弄了半天trackIndex总是无效。
后来发现需要开启音频声道(个人理解),才能使上述API生效。

2.解决方案

            videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;//设置音频输出模式
            videoPlayer.SetTargetAudioSource(0, audioSource);//设置音频声道,绑定AudioSource组件
            videoPlayer.playOnAwake = false;//取消默认播放
            videoPlayer.IsAudioTrackEnabled(0);//开启音频声道

视频播放有声音,而且可以通过audioSouce的Volume控制音量大小啦。

运行效果:
VideoPlayer播放视频在VideoClip模式下无声音_第3张图片

你可能感兴趣的:(Unity)