मैं एक कैमरा ऐप बना रहा हूं, जहां वीडियो लगातार कब्जा कर लिया जा रहा है और एसडी कार्ड में सहेजा जा रहा है। वीडियो कम (कुछ मिनट) हैं, और उनकी लंबाई setMaxDuration() के साथ प्रीसेट है।एंड्रॉइड: वीडियो पूर्वावलोकन के लिए मान्य सतह के बिना MediaRecorder कैसे प्रारंभ करें?
पूरी प्रक्रिया ठीक काम करती है, जबकि मुख्य गतिविधि अग्रभूमि में होती है। लेकिन, जब मैं दूसरी गतिविधि (जैसे सेटिंग्स) पर जाता हूं, तो वीडियो रिकॉर्डिंग केवल तब तक पृष्ठभूमि में काम करती है जब तक अधिकतम अवधि तक नहीं पहुंच जाती। फ़ाइल सहेजी गई है, लेकिन एक नया अनुक्रम शुरू नहीं किया जा सकता है क्योंकि तैयार() विफल रहता है, जाहिर है क्योंकि setPreviewDisplay() को संलग्न करने के लिए उचित सतह नहीं है।
मैंने एक डमी सतह, एक डमी सतहफ़ोल्डर, लॉक कैनवास(), और कई अन्य चाल का उपयोग करने की कोशिश की, लेकिन कुछ भी काम नहीं करता है। क्या वैध सतह के बिना MediaRecorder प्रारंभ करने का कोई तरीका है?
हां, मैंने भूतल कॉलबैक लागू किए हैं। वैध पूर्वावलोकन सतह होने पर सब कुछ ठीक काम करता है। लेकिन, जब भी मैं मुख्य गतिविधि छोड़ देता हूं तब भी मैं रिकॉर्ड करना चाहता हूं। ऐप वीडियो रिकॉर्डिंग शुरू करने में सक्षम होना चाहिए, भले ही पूर्वावलोकन सतह दिखाई दे या नहीं। लेकिन, मैंने जो कुछ भी कोशिश की है, वह सुझाव देता है कि एंड्रॉइड के साथ यह अभी तक संभव नहीं है। कोई मुझे गलत साबित कर सकता है? – Robert