2013-12-16 12 views
7

मैं अपने आवेदन में वीडियो चलाने की कोशिश कर रहा हूं और मुझे यह वीडियो नहीं चला सकता त्रुटि। मैं इसके बारे में बहुत सारे धागे में आया था। खिलाड़ी तैयार होने के बाद उन्होंने वीडियो शुरू करने के लिए कहा है। मैं वही कर रहा हूँ लेकिन समस्या का पता नहीं लगा सका। कृपया नीचे अपना कोड पाएं।एंड्रॉइड वीडियो व्यू वीडियो त्रुटि को विशेष रूप से नहीं चला सकता है .mp4

public class Video extends Activity implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener { 

public VideoView vidPlayer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    setup(); 
    activateVideoPlayer(); 
} 

public void setup() { 
    setContentView(R.layout.step_video);   
    vidPlayer = (VideoView) findViewById(R.id.videoPlayer); 
    String playableUrl = "http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4"; 

} 

@Override 
public void onPrepared(final MediaPlayer mediaPlayer) { 
    mediaPlayer.setLooping(false); 
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     startPlayer(); 
    videoLoaded = true; 
    mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() { 
     // show updated information about the buffering progress 
     public void onBufferingUpdate(MediaPlayer mp, int percent) { 
      Log.d(this.getClass().getName(), "percent: " + percent); 

     } 
    }); 

    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 

     public void onCompletion(MediaPlayer mediaPlayer) { 
      progress.setProgress(100); 
        setResult(Activity.RESULT_OK); 
        finish(); 
     } 
    }); 

    readyToPlay = true; 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

@Override 
public void onPause() { 
    super.onPause(); 
    pausePlayer(); 
} 

@Override 
public void finish() { 
    super.finish(); 
    overridePendingTransition(R.anim.engagement_fade_in, R.anim.engagement_fade_out); 
} 

@Override 
public void onBackPressed() { 
    isGoingBack = true; 
    setResult(Activity.RESULT_CANCELED); 
    finish(); 
} 

@Override 
public boolean onError(MediaPlayer mediaPlayer, int i, int i1) { 
    JLogger.getInstance(this).log("Video Player Error!!" + Integer.toString(i) + "/" + Integer.toString(i1)); 

    return false; 
} 

public void startPlayer() { 
    isPaused = false; 
    vidPlayer.start(); 
} 

public void pausePlayer() { 
    isPaused = true; 
     vidPlayer.pause(); 
} 

private void activateVideoPlayer() { 
    vidPlayer.setOnErrorListener(this); 
    vidPlayer.setOnPreparedListener(this); 

    btnPlay.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      if (vidPlayer.isPlaying()) { 
       pausePlayer(); 
      } else { 
       startPlayer(); 
      } 
     } 
    }); 

    vidPlayer.setVideoURI(Uri.parse(playableUrl)); 
    vidPlayer.seekTo(step.resumePosition); 
} 
} 

डिवाइस है कि मैं उपयोग कर रहा हूँ मोटोरोला Atrix है - एंड्रॉयड 4.1.2 - अनलॉक किया। मैंने नेक्सस 4, 5 और समसंग टैब 2 जैसे अन्य उपकरणों में भी कोशिश की। यह ठीक काम कर रहा है।

12-16 13:42:35.184 4427-4427/? D/MediaPlayer﹕ Couldn't open file on client side,trying server side 
12-16 13:42:35.184 1417-1830/? I/AwesomePlayer﹕ setDataSource_l('http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4') 
12-16 13:42:35.184 1417-5481/? V/ChromiumHTTPDataSource﹕ connect on behalf of uid 10069 
12-16 13:42:35.184 1417-5481/? I/ChromiumHTTPDataSource﹕ connect to http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4 @0 
12-16 13:42:35.684 1424-1673/? I/﹕ odm_disp_esd_thread is running(467) state=1 
12-16 13:42:35.684 1417-5481/? W/WVMExtractor﹕ Failed to open libwvm.so 
12-16 13:42:36.184 4547-4576/? W/GAV2﹕ Thread[GAThread,5,main]: Exception sending hit: HttpHostConnectException 
12-16 13:42:36.184 4547-4576/? W/GAV2﹕ Thread[GAThread,5,main]: Connection to https://ssl.google-analytics.com refused 
12-16 13:42:36.184 1417-5481/? E/OMXCodec﹕ failed to allocate node OMX.Nvidia.h264.decode 
12-16 13:42:36.184 1417-5481/? E/OMXCodec﹕ failed to allocate node OMX.google.h264.decode 
12-16 13:42:36.184 1417-5481/? I/OMXCodec﹕ [OMX.google.h264.decoder] AVC profile = 77 (Main), level = 22 
12-16 13:42:36.184 1417-5481/? I/OMXCodec﹕ [OMX.google.h264.decoder] video dimensions are 320 x 240 
12-16 13:42:36.184 1417-5481/? I/OMXCodec﹕ [OMX.google.h264.decoder] Crop rect is 320 x 240 @ (0, 0) 
12-16 13:42:37.184 4427-4427/? D/MediaPlayer﹕ getMetadata 
12-16 13:42:37.184 4427-4427/? D/VideoSample﹕ onPrepared() method 
12-16 13:42:37.184 1417-1687/? D/AudioHardwareMot﹕ bufSize = 8192 
12-16 13:42:37.184 1417-5484/? E/SoftAVC﹕ Decoder failed: -2 
12-16 13:42:37.184 1417-5485/? E/OMXCodec﹕ [OMX.google.h264.decoder] ERROR(0x80001001, -1007) 
12-16 13:42:37.184 1417-5486/? I/SoftAAC2﹕ Reconfiguring decoder: 44100 Hz, 2 channels 
12-16 13:42:37.184 4427-4449/? E/MediaPlayer﹕ error (1, -2147483648) 
12-16 13:42:37.184 1692-2165/? D/dalvikvm﹕ GC_EXPLICIT freed 113K, 39% free 8906K/14467K, paused 3ms+5ms, total 93ms 
12-16 13:42:37.184 4427-4427/? E/MediaPlayer﹕ start called in state 0 
12-16 13:42:37.184 4427-4427/? E/MediaPlayer﹕ error (-38, 0) 
12-16 13:42:37.184 4427-4427/? E/MediaPlayer﹕ Error (1,-2147483648) 
12-16 13:42:37.184 4427-4427/? D/VideoView﹕ Error: 1,-2147483648 
12-16 13:42:37.184 4427-4427/? D/VideoSample﹕ VideoSample: Video Player Error!!1/-2147483648 
12-16 13:42:37.184 4427-4427/? D/VideoSample﹕ VideoSample: Get url: http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4 
12-16 13:42:37.184 4427-4427/? E/MediaPlayer﹕ Error (-38,0) 
12-16 13:42:37.184 4427-4427/? D/VideoView﹕ Error: -38,0 
12-16 13:42:37.184 4427-4427/? D/VideoSample﹕ VideoSample: Video Player Error!!-38/0 
12-16 13:42:37.184 4427-4427/? D/VideoSample﹕ VideoSample: Get url: http://teststreaming7v.s3.amazonaws.com/public/7515/1374782317346-beagle_puppy_howl_640x360_448_main.mp4` 

संपादित करें 1

मैं जो पहले एक खेलता है और दूसरा से बाहर के बाद दो .mp4 फ़ाइलों को चलाने की कोशिश की नहीं करता है:

यह मेरा लॉग है।

वीडियो 1 गुण
यूआरएल: Video URL
वीडियो बिट दर: 179.9 Kbits/
ऑडियो चैनल: स्टीरियो

Video1

वीडियो 2 गुण यूआरएल: Video URL
वीडियो बिट दर: 446.9 Kbits/
ऑडियो चैनलों: मोनो

Video2

+0

शायद इसलिए क्योंकि moov परमाणु फ़ाइल – njzk2

+0

@ njzk2 की शुरुआत में नहीं है, क्या यह नेक्सस 4 या 5 या सैमसंग टैबलेट जैसे अन्य उपकरणों में एक ही वीडियो को प्रभावित नहीं करता है? मैं moov परमाणु और अन्य संबंधित विषय से परिचित नहीं हूँ। क्षमा करें अगर मैं मूर्खतापूर्ण गलत सवाल पूछता हूं। मेरा दूसरा वीडियो केवल मोटोरोला एट्रिक्स और एलजी ऑप्टिमस में नहीं खेलता है। ये वे डिवाइस हैं जिन्हें मैंने चेक किया है। – Uma

+0

पूरी तरह से सुनिश्चित नहीं है, लेकिन आपकी बात समझ में आता है। – njzk2

उत्तर

8

समस्या यह थी कि दूसरा वीडियो एच .264 एवीसी बेसलाइन प्रोफाइल में नहीं है।

+0

धन्यवाद, यह जानकर मैं इस जीस्ट्रीमर पाइपलाइन के साथ ऐसा एमपी 4 वीडियो उत्पन्न करने में सक्षम था: 'gst-launch-0.10 -e videotestsrc num-buffers = 1000! x264enc qp-min = 18! वीडियो/एक्स-एच 264, स्ट्रीम-प्रारूप = एवीसी, प्रोफाइल = बाध्य-बेसलाइन! qtmux! filesink स्थान = test.mp4' – jcarballo

2

मैं कोई है जो सिर्फ इस समस्या थी, भी MP4 वीडियो के साथ पता है, समस्या कोड पर नहीं थी, यह वीडियो पर थी, फ़्रेम/सेकंड की संख्या के बारे में कुछ, अन्य वीडियो आज़माएं, जिन्हें आप जानते हैं पूरी तरह से

+0

मैंने पहले कभी वीडियोव्यू का उपयोग नहीं किया था, इसलिए आप इन प्रस्तावों पर एक नज़र डालना चाहेंगे: http://stackoverflow.com/questions/17399351/how-to-play-mp4-video-in-videoview-in-android –

+0

समस्या वीडियो एन्कोडिंग के साथ था। स्पॉट लाइट के लिए धन्यवाद .. – Uma

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