using System.Windows.Forms;
using UnityEngine;
using UnityEngine.Video;
public class SetFile : MonoBehaviour
{
[SerializeField] private GameObject _Image;
[SerializeField] private VideoPlayer _videoPlayer;
public void OpenImageFile()
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Image files (*.png;*.jpeg;*.jpg)|*.png;*.jpeg;*.jpg";
dialog.Title = "画像ファイルを選択してください";
if (dialog.ShowDialog() == DialogResult.OK)
{
string filePath = dialog.FileName;
byte[] fileData = System.IO.File.ReadAllBytes(filePath);
Texture2D texture = new Texture2D(2, 2);
texture.LoadImage(fileData);
_Image.GetComponent<Renderer>().material.mainTexture = texture;
}
}
public void OpenMovieFile()
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Movie files (*.mp4)|*.mp4";
dialog.Title = "動画ファイルを選択してください";
if (dialog.ShowDialog() == DialogResult.OK)
{
string filePath = dialog.FileName;
StartCoroutine(PlayVideo(filePath));
}
}
private System.Collections.IEnumerator PlayVideo(string filePath)
{
_videoPlayer.source = VideoSource.Url;
_videoPlayer.url = "file:///" + filePath;
_videoPlayer.Prepare();
while (!_videoPlayer.isPrepared)
{
yield return new WaitForSeconds(0.1f);
}
_videoPlayer.Play();
}
}