关于Unity3D VideoPlayer播放视频中的声音的问题

VideoPlayer是unity5.6后一个较新的功能,方便快速的实现了视频资源的播放,功能实现也比较简单,这里就不介绍了。主要说一下有关声音的问题,不是什么高深的技术,但希望能给遇到这个问题的人节省一点点时间

一:在控制面板中添加


如上图,在指定Video Clip后,播放的视频是没有声音的,需要再挂一个Audio Source组件,不需要指定其AudioClip,直接将这个组件拖入VideoPlayer面板最下面的 Audio Source里,然后播放视频就用声音了。



二,在代码中添加(此时,控制面板中只需要挂上 Vide Player和 Audio Source就行,不需要对它们设置,方便动态播放不同的视频资源)

  VideoPlayer videoPlayer;

  videoPlayer = this.GetComponent<VideoPlayer>();
   videoPlayer.loopPointReached += EndReached;//当前clip播放完成调用
   videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
   videoPlayer.SetTargetAudioSource(0, this.GetComponent<AudioSource>());
   videoPlayer.playOnAwake=false;
   videoPlayer.IsAudioTrackEnabled(0);

    videoPlayer.clip = “自己的Clip资源”;
    videoPlayer.Play();

   其中 videoPlayer.SetTargetAudioSource(0, this.GetComponent<AudioSource>());此方法用来添加指定的AudioSource组件,不然没有声音,此处的this.GetComponent<AudioSource>()是因为我的对象上面挂了AudioSource,你也可以引用其他的地方的AudioSource

videoPlayer.playOnAwake=false;这句话很重要,你可能知道playOnAwake是上面意思,但不明白它会造成什么影响,其实就是如果设置为true时,在awake的时候就已经开始播放视频了,而此时声音模块还没来得及加载,就会出现没有声音的情况,只有设置为false,当你播放第一个视频时才会有声音,它保证了在声音AudioSource模块设置完成的情况先才开始播放视频。

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值