Unity VideoPlayer 播放无声音

增加一个videoPlayer下挂,audiorSource脚本

this.videoPlayer.EnableAudioTrack(0, true);
this.videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
this.videoPlayer.SetTargetAudioSource(0, this.videoPlayer.GetComponent<AudioSource>());

设置没问题,但是发现无音效。

去掉PlayOnAwake之后,可以正常发声了。

初步判断,mp4自带音轨没法预加载,playOnAwake会导致自动播放时没预载好音效。

### Unity VideoPlayer 组件从头开始播放视频 为了确保 `VideoPlayer` 组件能够从头开始播放视频,在脚本中可以调用特定方法来控制播放行为。下面是一个详细的解决方案: #### 方法一:使用 C# 脚本来控制播放位置 可以通过编写简单的C#脚本来实现这一功能。创建一个新的MonoBehaviour类并附加到场景中的游戏对象。 ```csharp using UnityEngine; using UnityEngine.Video; public class VideoController : MonoBehaviour { public VideoPlayer videoPlayer; void Start() { // 设置播放器的时间轴回到起点 videoPlayer.time = 0f; // 开始播放视频 videoPlayer.Play(); } public void RestartVideo() { // 将当前时间设为0秒,即返回开头 videoPlayer.time = 0f; // 播放视频 videoPlayer.Play(); } } ``` 此代码片段定义了一个名为 `RestartVideo()` 的公共函数,可以在其他地方触发它以重新启动视频[^1]。 对于 iOS 设备上的特殊情况,当遇到通过 Slider 控件调整进度条时导致视频重置的问题,建议监听Slider的变化事件,并手动处理视频的位置更新逻辑而不是依赖默认的行为[^2]。 #### 方法二:直接操作 Inspector 面板 如果不希望通过编程方式解决,则可以直接在Unity编辑器内的Inspector面板里找到对应的 `VideoPlayer` 组件实例,将其 `Playback Speed` 属性设置为负数再恢复成正数也可以达到类似的效果;不过这种方法不够灵活也不推荐用于生产环境下的项目开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值