2012-11-19 42 views
9

मैंने HTTP के माध्यम से एक वीडियो फ़ाइल चलाने के लिए एंड्रॉइड वीडियो व्यू का उपयोग किया। मेरी समस्या यह है कि मेरा फोन संकेत देता है "वीडियो नहीं चला सकता क्षमा करें, यह वीडियो नहीं खेला जा सकता है।" HTTP से mp4 फ़ाइल चलाते समय। लेकिन यह ठीक है जब एक और एमपी 4 वीडियो फ़ाइल खेल रहा है।एंड्रॉइड वीडियो व्यू वीडियो mp4 नहीं चला सकता

जब सैमसंग गैलेक्सी एस जैसे नए फोन में उपयोग किया जाता है, तो मेरा प्रोग्राम HTTP से सफलतापूर्वक एमपी 4 वीडियो फ़ाइल दोनों चला सकता है।

मेरा फोन:

Samsung GT-S5830 
Android version: 2.3.4 
Display: 320x480. 

Video file 1 (OK): 
Video Codec: H.264 
Resolution: 640x360 
Others: 16:9, 340kbps, 29.92fps 
Audio Codec: AAC, 44kHz 96kbps Stereo. 


Video file 2 (Fail): 
Video Codec: H.264 
Resolution: 640x360 
Others: 16:9, 993kbps, 25fps 
Audio Codec: AAC 44kHz 125kbps Stereo. 

नीचे मेरी कोड है कि वीडियो फ़ाइल 1 सफलतापूर्वक खेलने के लिए hardcoded है।

public class VideoPlayActivity extends Activity { 
VideoView vv; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //requestWindowFeature(Window.FEATURE_NO_TITLE); 
    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    vv = new VideoView(this); 
    RelativeLayout.LayoutParams param1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); 
    param1.addRule(RelativeLayout.CENTER_IN_PARENT); 
    vv.setOnErrorListener(new OnErrorListener() { 

     public boolean onError(MediaPlayer mp, int what, int extra) { 
      Log.d("Dbg", "OnErrorListener: onError: " + what + ", " + extra); 
      return false; 
     } 

    }); 

    RelativeLayout layout = new RelativeLayout(this); 
    layout.addView(vv, param1); 

    setContentView(layout); 

    playContent(); 

} 

private void playContent() { 
    String path = "http://rmcdn.2mdn.net/MotifFiles/html/1248596/android_1330378998288.mp4"; 

    vv.setVideoPath(path); 
    vv.requestFocus(); 
    vv.start(); 
    } 
} 

त्रुटि लॉग जब वीडियो फ़ाइल 2 खेलने रूप में नीचे है:

11-19 17:49:30.119: I/VideoView(16860): start() 
11-19 17:49:30.139: E/MediaPlayer(16860): error (1, -2147483648) 
11-19 17:49:30.149: E/MediaPlayer(16860): Error (1,-2147483648) 
11-19 17:49:30.149: D/VideoView(16860): Error: 1,-2147483648 
11-19 17:49:30.149: D/Dbg(16860): OnErrorListener: onError: 1, -2147483648 

यह ध्यान दिया जाता है कि मैं एमएक्स प्लेयर इंस्टॉल करने की कोशिश की और मेरे फ़ोन के SD कार्ड में दोनों वीडियो फ़ाइल डाउनलोड की। एमएक्स प्लेयर दोनों वीडियो फ़ाइलों को सफलतापूर्वक खेल सकता है।

तो, किसी को भी मेरी मदद कर सकते नीचे सवालों का जवाब देना:

  1. क्यों मेरा कार्यक्रम मेरे फोन पर वीडियो फ़ाइल 2 नहीं खेल सकते?
  2. मैं अपने फोन पर वीडियो फ़ाइल 2 कैसे चला सकता हूं?

आपकी सलाह के लिए धन्यवाद।

उत्तर

12

Android MediaPlayer error (1, -2147483648) से उत्तर के लिए धन्यवाद।

मुझे पता चला कि वीडियो फ़ाइल 2 एच .264 मुख्य प्रोफाइल में एन्कोड किया गया था, कि मेरा मोबाइल फोन नहीं खेला जा सकता है। Android Supported Media Format बेसलाइन प्रोफाइल में H.264 का सुझाव देता है। तो वीडियो को बेसलाइन प्रोफाइल में कनवर्ट करने के बाद, इसे मेरे फोन पर खेला जा सकता है।

+0

आपके प्रश्न और उत्तर के लिए धन्यवाद, मैं वीडियोव्यू पर भी एक वीडियो चलाने की कोशिश कर रहा हूं और एक ही समस्या है, मुझे नहीं मिला कि मुख्य प्रोफ़ाइल और बेसलाइन प्रोफाइल के साथ आपका क्या मतलब था? मैं उनके बारे में और कहां और कहां पा सकता हूं? अग्रिम धन्यवाद – Rudi

+10

आपने वीडियो को बेसलाइन प्रोफाइल में कनवर्ट करने का प्रबंधन कैसे किया? – kabuto178

+0

क्या आपने इसे रनटाइम पर परिवर्तित किया था? – Jaydev