unity本地加载视频
using UnityEngine; using UnityEngine.Video; using System.IO; /// <summary> /// 视频管理器:本地视频播放(StreamingAssets) /// </summary> public class VideoManager : MonoBehaviour { public static VideoManager Instance { get; private set; } public VideoPlayer _videoPlayer; private string _currentVideo; private void Awake() { if (Instance != null) { Destroy(gameObject); return; } Instance = this; DontDestroyOnLoad(gameObject); // _videoPlayer = gameObject.AddComponent<VideoPlayer>(); _videoPlayer.playOnAwake = false; //_videoPlayer.renderMode = VideoRenderMode.CameraNearPlane; // 默认渲染到摄像机 } /// <summary> /// 播放视频(避免重复播放同一个) /// </summary> public void Play(string fileName) { if (_currentVideo == fileName && _videoPlayer.isPlaying) return; string path = Path.Combine(Application.streamingAssetsPath, fileName); if (!File.Exists(path)) { Debug.LogError($"视频文件未找到: {path}"); return; } _videoPlayer.url = path; _videoPlayer.Play(); _currentVideo = fileName; } /// <summary> /// 停止播放 /// </summary> public void Stop() { if (_videoPlayer.isPlaying) _videoPlayer.Stop(); } }
posted on 2025-08-17 00:44 zqiang0803 阅读(17) 评论(0) 收藏 举报