यदि आप अधिकतम गति पर फ़्रेम प्रस्तुत करते हैं तो आप अधिकांश उपकरणों पर 60fps दबाएंगे। आपको एन्कोडर द्वारा प्रदत्त प्रस्तुति समय टिकटें के अनुसार इसे गति देने की आवश्यकता है।
उदाहरण के लिए, यदि इनपुट एंड्रॉइड द्वारा समर्थित प्रारूप (उदाहरण के लिए एक ठेठ .mp4 फ़ाइल) है, तो आप प्रत्येक फ्रेम निकालने के लिए MediaExtractor कक्षा का उपयोग कर सकते हैं। टाइम स्टैम्प को getSampleTime()
के साथ पुनर्प्राप्त किया जा सकता है। आप लगातार फ्रेम पर टाइमस्टैम्प के बीच अंतर से प्रतिपादन में देरी करना चाहते हैं - मान लें कि पहले फ्रेम में शून्य का टाइमस्टैम्प होगा।
इसके अलावा, यह न मानें कि वीडियो फ्रेम स्थिर दर (जैसे 30fps) पर दिखाई देते हैं। कुछ स्रोतों के लिए फ्रेम असमान रूप से पहुंचेंगे।
Grafika में विशेष रूप से SpeedControlCallback
कक्षा में "वीडियो (TextureView)" उदाहरण देखें। gen-eight-rects.mp4
वीडियो इसका उपयोग करने के लिए परिवर्तनीय फ्रेम अवधि का उपयोग करता है। यदि आप "60fps पर प्ले करें" बॉक्स को चेक करते हैं, तो प्रस्तुति समय टिकटें अनदेखा कर दी जाती हैं।
आप इस पर कहां गए? – BlueVoodoo
क्या आप अपना कोड पोस्ट कर सकते हैं। यह उपयोगी सराय डिबगिंग – itsmeagain
होगा, मुझे एक ही समस्या है, क्या आपने इसे समझ लिया है? – xiaowoo