2009-08-09 12 views
10

मैं एक कैमरा ऐप बना रहा हूं, जहां वीडियो लगातार कब्जा कर लिया जा रहा है और एसडी कार्ड में सहेजा जा रहा है। वीडियो कम (कुछ मिनट) हैं, और उनकी लंबाई setMaxDuration() के साथ प्रीसेट है।एंड्रॉइड: वीडियो पूर्वावलोकन के लिए मान्य सतह के बिना MediaRecorder कैसे प्रारंभ करें?

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

मैंने एक डमी सतह, एक डमी सतहफ़ोल्डर, लॉक कैनवास(), और कई अन्य चाल का उपयोग करने की कोशिश की, लेकिन कुछ भी काम नहीं करता है। क्या वैध सतह के बिना MediaRecorder प्रारंभ करने का कोई तरीका है?

उत्तर

-1

क्या आप भूतल कॉलबैक लागू कर रहे हैं?

आपको वैध सतह के बिना MediaRecorder प्रारंभ करने की आवश्यकता क्यों है?

क्या आप मुख्य गतिविधि छोड़ते समय भी रिकॉर्डिंग कर रहे हैं? या अन्य acitivty पैदा होने से पहले रिकॉर्डिंग बंद कर देता है?

+0

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

4

दुर्भाग्य से वीडियो रिकॉर्ड करने के लिए एक वैध सतह पर पूर्वावलोकन करने के लिए अभी भी एक आवश्यकता है (2.2 से एंड्रॉइड एसडीके 1.6)। इस प्रतिबंध को हटाने के लिए एक वृद्धि अनुरोध लॉग किया गया है http://code.google.com/p/android/issues/detail?id=9570

+0

क्या यह अभी भी मामला है? – Felix

0

मुझे लगता है कि IP Webcam ऐप ऐसा कर सकता है, हालांकि मुझे नहीं पता कि कैसे। शायद यह केवल> = 2.3 पर काम करता है। मुझे यकीन नहीं है कि मैंने किस संस्करण को देखा है। मैंने यह जानने के लिए एक सवाल पूछा कि यह कैसे काम कर रहा है।

2

मैंने ऐसा करने के लिए एक सेवा का उपयोग किया, और एक 1px * 1px चौड़ी सतह। यहां कैसे पाया जा सकता है: http://pickerwengs.blogspot.de/2011/05/android-background-video-recorder-on.html

+0

लिंक लॉक पेज पर इंगित करता है - मुझे जवाब पढ़ने में सक्षम होने के लिए किसी आमंत्रण की आवश्यकता होगी ... – grAPPfruit

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