2017-07-24 543 views
0

我使用Unity的新(截至〜5.6.x)視頻播放器組件來以編程方式加載視頻文件並播放它。但我希望能夠檢測源視頻的尺寸,以便我可以調整渲染紋理目標以及包含視頻控件欄的GameObject。我如何獲得VideoPlayer源尺寸(寬度/高度)?

有什麼辦法可以訪問這些屬性嗎?

目前,我可以看到有可能獲得幀數等等,這使得我應該能夠獲得視頻的尺寸,但是我看不到任何東西似乎都起作用。

+0

也許你可以使用ffmpeg庫https://stackoverflow.com/questions/6758042/how-to-get-video-dimensions-using-ffmpeg – Serdar

回答

1

您可以從VideoPlayer獲得視頻尺寸,例如寬度和高度。這可以通過檢索VideoPlayer中的VideoClip完成。這些值可以從VideoClip訪問。

獲取的VideoPlayer

VideoPlayer vplayer = GetComponent<VideoPlayer>(); 

從的VideoPlayer獲取的VideoPlayer夾

VideoClip clip = vplayer.clip; 

獲取的VideoPlayer尺寸寬/高

float videoWidth = clip.width; 
float videoHeight = clip.height; 

其他重要的變量,你可能感興趣的:

double videoLength = clip.length; 
float frameCount = clip.frameCount; 
double frameRate = clip.frameRate; 

如果您在播放視頻時需要幫助,可以查看this的帖子。

+0

我的歉意;我在一天結束的時候輸入了我的問題,而且很不清楚。我以前使用過這種方法沒有問題,但由於我在運行時下載視頻,因此我必須使用URL作爲其源,而不是剪輯對象。因此,每個符號的「vplayer.clip」將爲空。 你的回答按我原來的問題是正確的。你顯然是一個很棒的老手,所以我會把這個問題告訴你:我應該把你的問題標記爲正確的,並且創建一個更清晰的新問題。或者我應該編輯我的問題,根據更新後的數據使答案不準確? – Vanguard3000

+1

我真的很喜歡這個答案,並認爲它應該專門用於離線視頻播放,因爲它會對很多人有用。您可以創建專門用於網址視頻播放的新答案,我會回答它。我計劃在30分鐘內離開,並將在幾小時內返回。如果您可以在30分鐘內提出問題,我會嘗試回答。 – Programmer

相關問題