前提・実現したいこと
Unity内で動画の再生を行う際に現在の動画の時間と動画全体の時間を表示したいと思っています。
その際に00:00という表示の仕方を行いたいと思っています。
発生している問題・エラーメッセージ
現在、「videoClip.length」を使って動画全体の長さ、「videoClip.time」を使用して現在の動画の時間を取得しています。
そしてここで取得した数字を
「double length = videoClip.length;
alltime = ((int)length).ToString();」
このようにして小数点以下を切り捨てています。
ここで得られた数字を現在は表示しているのですが00:00という表記にできていません。
ここで得られた数字を60で割ったりして無理やり00:00という表記にしようとも思ったのですが何かもっといい方法があるのではないかと思い質問させていただきます。
また得られた数字の小数点以下の切り捨て方でもっといい方法があればそちらも教えていただきたいです。
該当のソースコード
C#
1using UnityEngine; 2using System.Collections; 3using UnityEngine.UI; 4using System.Collections.Generic; 5using UnityEngine.SceneManagement; 6using System.Linq; 7using System; 8using UnityEngine.EventSystems; 9using System.IO; 10using UnityEngine.Video; 11 12public class video : MonoBehaviour 13{ 14 public VideoPlayer videoClip; 15 public GameObject screen; 16 public Image startbutton; 17 double time; 18 string alltime; 19 string nowtime; 20 [SerializeField] 21 public Text alltimetext; 22 [SerializeField] 23 public Text nowtimetext; 24 //public VideoPlayer mPlayer; 25 // Start is called before the first frame update 26 void Start() 27 { 28 //var videoPlayer = screen.AddComponent<VideoPlayer>(); 29 videoClip.source = VideoSource.VideoClip; 30 //videoClip.clip = videoClip; 31 double length = videoClip.length; 32 alltime = ((int)length).ToString(); 33 alltimetext.text = alltime; 34 //Debug.Log(length); 35 36 } 37 38 // Update is called once per frame 39 void Update() 40 { 41 time = videoClip.time; 42 nowtime = ((int)time).ToString(); 43 nowtimetext.text = nowtime; 44 //Debug.Log(nowtime); 45 } 46 public void VPControl() 47 { 48 var videoPlayer = GetComponent<VideoPlayer>(); 49 50 if (!videoPlayer.isPlaying)// ボタンを押した時の処理 51 { 52 videoPlayer.Play(); // 動画を再生する。 53 Texture2D texture = Resources.Load("images/nekonekodouga/start1") as Texture2D; 54 startbutton.sprite = Sprite.Create(texture, 55 new Rect(0, 0, texture.width, texture.height), 56 Vector2.zero); 57 } 58 else 59 { 60 videoPlayer.Pause(); // 動画を一時停止する。 61 Texture2D texture = Resources.Load("images/nekonekodouga/pause1") as Texture2D; 62 startbutton.sprite = Sprite.Create(texture, 63 new Rect(0, 0, texture.width, texture.height), 64 Vector2.zero); 65 } 66 } 67}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。