2011-08-08 19 views
5

मैं एक ऐप बना रहा हूं जिसमें रिकॉर्ड किए गए वीडियो का 60 सेकंड बफर होगा। वीडियो रिकॉर्डिंग को एक विस्तृत अवधि (24-48 घंटे) के लिए चलाने की जरूरत है। मुझे रिकॉर्डिंग के साथ कोई समस्या नहीं प्रतीत होती है, लेकिन ऐसा प्रतीत होता है कि कुछ घंटों के बाद मैं अपने Camera या Surface के साथ कनेक्शन खो देता हूं।अंतहीन वीडियो रिकॉर्डिंग

मैं अधिकतम अवधि निर्धारित कर रहा हूं: MediaRecorder.setMaxDuration(10 * 1000) ताकि रिकॉर्डिंग 10 सेकंड सेगमेंट में टूट गई हो।

हर बार जब मैं अपनी रिकॉर्डिंग को पुनरारंभ करता हूं तो मैं आउटपुट फ़ाइल को इस तरह से बढ़ा रहा हूं कि 6 फाइलों का पुन: उपयोग किया जाता है। इसका उद्देश्य हर समय 60 सेकंड का इतिहास रखना है।

यदि मैं 1-2 घंटे बाद रिकॉर्डिंग को रोकता हूं तो वीडियो ठीक से खेलते हैं। हालांकि, अगर मैं इसे 3-4 + घंटे तक चलाता हूं और रिकॉर्डिंग को रोकता हूं, तो वीडियो ऑडियो के साथ केवल काले आउटपुट दिखाता है। दूसरे शब्दों में, ऐसा लगता है कि यह कैमरे या सतह के साथ कनेक्शन खो गया है लेकिन ऑडियो रिकॉर्डिंग जारी है।

क्या कोई इस व्यवहार को समझा सकता है?

यदि कुछ और नहीं है, तो एक्स वीडियो के दूसरे खंड रिकॉर्ड करने का एक बेहतर तरीका है?

एफवाईआई: मैं एक वेक लॉक का उपयोग कर रहा हूं ताकि स्क्रीन/सीपीयू चालू रहे।

+0

मैंने कभी ऐसा कुछ भी नहीं किया है। लेकिन अगर आपको बिना किसी समस्या के 1-2 घंटे मिल सकते हैं तो त्वरित गंदी फिक्स खत्म() की तरह लगती है और आपकी रिकॉर्डिंग गतिविधि को पुनरारंभ करें। लेकिन यह आपको रिकॉर्ड किए गए वीडियो में एक अंतर छोड़ने जा रहा है जो आपकी गतिविधि स्टार्टअप समय का आकार है। यदि आपके पास 2 डिवाइस हैं तो आप दोनों और वैकल्पिक पुनरारंभ समय से रिकॉर्ड कर सकते हैं? – FoamyGuy

+0

हम्म, दिलचस्प विचार। हकीकत में मेरा मानना ​​है कि मैं रिकॉर्डिंग परिचालन के साथ कुछ कर रहा था। जैसा कि, यह सामान्य रूप से * कैमरे से फिर से कनेक्ट करने में सक्षम हो सकता है, लेकिन 1% मामला हो सकता है जहां यह स्वयं से आगे हो जाता है (MediaRecorder फिर से रिकॉर्डिंग शुरू करने का प्रयास करते समय आउटपुट फ़ाइल लिखना/बंद करना समाप्त नहीं होता है?) –

उत्तर

2

मैंने यहां अपने स्वयं के प्रश्न का उत्तर दिया है। मेरे पास बहुत सारी जानकारी नहीं है, लेकिन उम्मीद है कि यह दूसरों को इसी तरह की स्थिति में मदद करने के लिए पर्याप्त जानकारी प्रदान करेगा।

सबसे पहले, मैंने कभी अपना कोड पोस्ट नहीं किया क्योंकि यह रास्ता बहुत लंबा है। मैंने अपने कोड के स्निपेट पोस्ट नहीं किए क्योंकि मुझे नहीं पता था कि समस्या कहां उत्पन्न हुई थी। इस तथ्य के बावजूद कि अब यह काम कर रहा है, मुझे अभी भी पता नहीं है कि मेरे पुराने कोड में क्या गलत था।

मेरे सुझाव:

मैं अपने कोड को खत्म करने और कोड विकास एपीआई प्रदर्शन में पाया साथ नए सिरे से शुरू करने समाप्त हो गया: CameraPreview - मैं इस संदर्भ इस साइट पर कम से कम एक सूत्र में पाया।

इसके बाद मैं बिना किसी समस्या के अंत में घंटों तक रिकॉर्ड करने में सक्षम था। तो यदि आप एक समान स्थिति में हैं, तो मैं एक शुरुआती बिंदु के रूप में CameraPreview कोड का उपयोग करने का सुझाव दूंगा।

+0

हाय, मैं कुछ ऐसा करने की कोशिश कर रहा हूं लेकिन छोटी लंबाई के साथ (वीडियो + ऑडियो के पिछले 15-30 सेकंड रिकॉर्ड) लेकिन मुझे इसे काम करने में कठिनाई हो रही है। क्या आप मुझे बता सकते हैं कि आपका प्रोजेक्ट कौन सा न्यूनतम एपीआई स्तर है? इसके अलावा, यदि आप इसके बारे में अधिक जानकारी प्रदान कर सकते हैं तो यह बहुत अच्छा होगा, जैसे कि आप कुछ अन्य बाहरी पुस्तकालयों का उपयोग कर रहे हैं, आप किस ऑब्जेक्ट/विधियों का उपयोग कर रहे हैं, आप परिणामस्वरूप वीडियो विलय कैसे कर रहे हैं (या यदि यह स्वचालित रूप से किया जाता है) । धन्यवाद – klifa

संबंधित मुद्दे