2010-03-30 12 views
6

मुझे अपने एंड्रॉइड एप्लिकेशन को एसडी कार्ड से वीडियो चलाने के लिए बहुत मुश्किल हो रही है। इससे कोई फर्क नहीं पड़ता कि आकार, बिटरेट, वीडियो प्रारूप, या कोई अन्य सेटिंग जो मैं सोच सकता हूं, न तो एमुलेटर और न ही मेरा जी 1 कुछ भी खेलेंगे जो मैं एन्कोड करने की कोशिश करता हूं। मैंने वेब से कई वीडियो (विभिन्न वीडियो प्रारूप, बिट्रेट्स, ऑडियो ट्रैक के साथ और बिना आदि) की भी कोशिश की है, और इनमें से कोई भी काम नहीं करता है।एंड्रॉइड - कोई वीडियो नहीं चला सकता (एमपी 4/mov/3gp/etc।)?

सभी मैं मिलती रहती है एक संवाद बॉक्स कि कहते है: "। क्षमा करें, यह वीडियो नहीं चलाया जा सकता है"

"वीडियो नहीं चला सकता"

लॉगकैट में त्रुटियों की सूचना दी गई है, लेकिन मैं उन्हें समझ नहीं पा रहा हूं और मैंने बिना किसी भाग्य के आगे के स्पष्टीकरण के लिए इंटरनेट खोजने का प्रयास किया है। नीचे देखें:

03-30 05:34:26.807: ERROR/QCOmxcore(51): OMXCORE API : Free Handle 390d4 
03-30 05:34:26.817: ERROR/QCOmxcore(51): Unloading the dynamic library for OMX.qcom.video.decoder.avc 
03-30 05:34:26.817: ERROR/PlayerDriver(51): Command PLAYER_PREPARE completed with an error or info PVMFErrNoResources 
03-30 05:34:26.857: ERROR/MediaPlayer(14744): error (1, -15)03-30 05:34:26.867: ERROR/MediaPlayer(14744): Error (1,-15) 

कभी कभी मैं भी इस मिल:

03-30 05:49:49.267: ERROR/PlayerDriver(51): Command PLAYER_INIT completed with an error or info PVMFErrResource 
03-30 05:49:49.267: ERROR/MediaPlayer(19049): error (1, -17) 
03-30 05:49:49.347: ERROR/MediaPlayer(19049): Error (1,-17) 

यहाँ (मेरे OnCreate() विधि में) कोड मैं का उपयोग कर रहा है:

this.setContentView(R.layout.main); 
//just a simple VideoView loading files from the SD card 
VideoView myIntroView = (VideoView) this.findViewById(R.id.VideoView01); 
MediaController mc = new MediaController(this); 
myIntroView.setMediaController(mc); 
myIntroView.setVideoPath("/sdcard/test.mp4"); 
myIntroView.requestFocus(); 
myIntroView.start(); 

कृपया मदद!

उत्तर

10

ठीक है, चला जाता है। जिस वीडियो पर मैं एडोब प्रीमियर में काम कर रहा हूं उसे 480x800 (WxH) माना जाता है, लेकिन मेरे पास एडोब मीडिया एन्कोडर "यूवाईवीवाई" वीडियो कोडेक, 24fps फ्रेम दर, प्रगतिशील का उपयोग कर अनुक्रम को "असंपीड़ित माइक्रोसॉफ्ट एवीआई" के रूप में आउटपुट करता है , वर्ग पिक्सल, और आयाम: 720x800 (WxH)। यह वीडियो सामग्री के दोनों तरफ 120px ब्लैक सीमाओं के साथ एक बड़ी फाइल को आउटपुट करता है। मैं तो Handbrake 0.9.4 में वीडियो लेने के लिए और निम्न सेटिंग का उपयोग (मैं Regular-> सामान्य पूर्व निर्धारित के साथ शुरू):

Container: MP4 File 
Large file size: [un-Checked] 
Web-optimized: [un-Checked] 
iPod 5G support: [un-Checked] 

Width: 320 (this is key, any higher than 320 and it won’t work) 
Height: 528 
Keep Aspect Ratio: [Checked] 
Anamorphic: None 

Crop Left: 120 
Crop Right: 120 

Everything under the "Video Filter" tab set to "Off" 

Video Codec: H.264(x264) 
Framerate: same as source 
2-Pass Encoding: [Checked] 
Turbo first pass: [un-Checked] 
Avg Bitrate: 384 

Create chapter markers: [un-Checked] 

Reference Frames: 2 
Mixed References: [un-Checked] 
B-Frames: 0 
Motion Estimation Method: Uneven Multi-Hexagon 
Sub-pixel Motion Estimation: 9 
Motion Estimation Range: 16 
Analysis: Default 
8x8 DCT: [un-Checked] 
CABAC Entropy Coding: [un-Checked] 
No Fast-P-Skip: [un-Checked] 
No DCT-Decimate: [un-Checked] 
Deblocking: Default, Default 
Psychovisual Rate Distortion: [MAX] 

मेरा मुख्य समस्या थी कि मैं 480x800 के साथ एक mp4 फ़ाइल (उत्पादन के लिए कोशिश कर रहा था डब्ल्यूएक्सएच) आयाम। चौड़ाई को 320 में बदलने के बाद (उच्च मान काम नहीं करते), फिर भी उचित पहलू अनुपात को रखते हुए, आउटपुट वीडियो अब त्रुटियों के बिना खेलता है। मुझे आशा है कि यह किसी अन्य समस्या को किसी अन्य समस्या से मदद करेगा।

साइड नोट: मेरी इच्छा है कि एंड्रॉइड वीडियो प्रतिबंध बेहतर दस्तावेज किए गए हों।

+3

"मेरी इच्छा है कि एंड्रॉइड वीडियो प्रतिबंध बेहतर दस्तावेज किए गए हों।" मैं आपके साथ और अधिक सहमत नहीं हो सकता। मैंने आपके उदाहरण का भी पालन किया है और अभी भी स्ट्रीम करने के लिए वीडियो नहीं मिल सकता है। –

+0

क्या आप कृपया कोड पोस्ट कर सकते हैं जो आपने यहां किया था, समझ में नहीं आता है वास्तव में मैं इस क्षेत्र में नया हूं, किसी भी मदद को पकड़ा जाएगा। – UMAR

+0

हाँ, यह वीडियो व्यू और मीडियाप्लेयर के साथ काम करने का असली दर्द है। आपके क्यू एंड ए के लिए धन्यवाद। –

3

मुझे अपने फोन (एचटीसी नायक) पर खेलने के लिए कई अलग-अलग वीडियो प्राप्त करने में काफी परेशानी हुई है। मानक 512 के एमपी 4 के खेल (उदाहरण: http://www.archive.org/details/more_animation), यह सुनिश्चित करने के लिए पहले उनके साथ जांचें कि यह आपका कोड नहीं है।

यहाँ एक उप गतिविधि है जो केवल वीडियो फ़ाइल नाटकों में मेरी कोड है, onCreate से():




    protected VideoView mine; 
    protected boolean done = false; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.videoshow); 
     mine = (VideoView) findViewById(R.id.video); // Save the VideoView for touch event processing 
     try { 
      String myURI = "/sdcard/" + path + "/v/" 
          + currentItem.getFile() 
          + "." + currentItem.getFileType(); 
      Uri video = Uri.parse(myURI); 
      mine.setVideoURI(video); 
      mine.start(); 
      mine.setOnCompletionListener(new OnCompletionListener() { 

       public void onCompletion(MediaPlayer mp) { 
        result.putExtra("com.ejf.convincer01.Finished", true); 
        done = true; 
       } 
      }); 
     } catch (Exception ex) { 
      Log.d(DEBUG_TAG, "Video failed: '" + ex + "'"); 
     } 
+0

उत्तर देने के लिए धन्यवाद। मैंने आपकी सलाह ली और आपके द्वारा प्रदान की गई साइट से एक वीडियो डाउनलोड किया, "द लॉस्ट बिल्ली का बच्चा 1 9 38" (512 के एमपीई 4), और यह मैंने प्रदान किए गए एक ही सटीक कोड का उपयोग करके बेकार ढंग से काम किया। इसके लिए शुक्रिया।मैं डाउनलोड किए गए नमूने के चश्मे से मेल खाने के लिए अपने वीडियो को फिर से एन्कोड कर दूंगा और विवरण पोस्ट करने के लिए वापस आऊंगा। क्या आपको शायद मेरे एन्कोडर में उपयोग की जाने वाली सटीक सेटिंग्स के बारे में पता चलेगा (मैं या तो एडोब मीडिया एनकोडर या हैंडब्रैक का उपयोग कर सकता हूं)? – RyanM

0

मुझे इस समस्या का सामना करना पड़ रहा था जब तक कि मुझे पता चला कि समस्या मेरे वीडियो की निर्देशिका में थी। मैं अपने वीडियो को उस निर्देशिका में सहेज रहा था जो वीडियो व्यू के लिए पहुंच योग्य नहीं है। तो हर बार जब मैं एक वीडियो चलाने की कोशिश करता हूं तो यह मुझे त्रुटि संदेश देता है: "वीडियो नहीं खोल सकता" या ऐसा कुछ। इस वीडियो को अपने वीडियो को आजमाएं और सहेजें जो फोन गैलरी में भी दिखाई देगा।

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/" + "your app name "; 
संबंधित मुद्दे