2013-02-11 52 views
6

Tôi đang phát triển một ứng dụng trình phát phương tiện mẫu trong Android để phát video trực tuyến, tôi đã phát triển một số mã để phát video. Nó chơi video từ thẻ SD rất tốt, nhưng tôi đang đối mặt với hai vấn đề về mặt này.Cách phát video trực tuyến trong Android?

1- khi tôi mở ứng dụng cho video trực tuyến, nó sẽ hiển thị video nhưng không phát video và sau một thời gian nó hiển thị hộp thoại cảnh báo có thông báo "Rất tiếc, không thể phát video này".

2- Tôi có mã cho "Thanh tiến trình", nhưng tôi không biết đặt mã khi video tải xuống từ internet.

Đây là mã của tôi bạn có thể kiểm tra. Cảm ơn trước.

myVideoView = (VideoView) findViewById(R.id.surface_view); 


     try 
     { 

      myVideoView.setVideoURI(Uri.parse("http://www.MY_DOMAIN_NAME.com/videos/video1.mp4")); 
      myVideoView.setMediaController(new MediaController(this)); 
      myVideoView.requestFocus(); 
      myVideoView.start(); 
     } 
     catch(Exception e) 
     { 
      Toast.makeText(getApplicationContext(), "No Media found", Toast.LENGTH_LONG).show(); 
     } 

Trả lời

13

thử như thế này

VideoView v; 
MediaController mediaController; 
ProgressDialog progressDialog; 

sau đó

public void playvideo(String videopath) { 
    Log.e("entered", "playvide"); 
    Log.e("path is", "" + videopath); 
    try { 
     progressDialog = ProgressDialog.show(VideoPlay.this, "", 
       "Buffering video...", false); 
     progressDialog.setCancelable(true); 
     getWindow().setFormat(PixelFormat.TRANSLUCENT); 

     mediaController = new MediaController(VideoPlay.this); 

     Uri video = Uri.parse(videopath); 
     v.setMediaController(mediaController); 
     v.setVideoURI(video); 

     v.setOnPreparedListener(new OnPreparedListener() { 

      public void onPrepared(MediaPlayer mp) { 
       progressDialog.dismiss(); 
       v.start(); 
      } 
     }); 

    } catch (Exception e) { 
     progressDialog.dismiss(); 
     System.out.println("Video Play Error :" + e.getMessage()); 
    } 

} 

nếu vẫn còn có vấn đề "Video này không thể chơi" cố gắng để thay đổi định dạng video, hy vọng nó sẽ giúp u.

2

Rất dễ dàng để phát video trực tiếp bằng chế độ xem Video trong Android. tôi đang dán mã ở đây, hãy thử cái này nó sẽ làm việc tốt cho bạn.

public class PlayVideo extends Activity 

{ 

     //private String videoPath ="Url"; 

     private static ProgressDialog progressDialog; 
     String videourl; 
     VideoView videoView ; 

     protected void onCreate(Bundle savedInstanceState) 
     { 

      super.onCreate(savedInstanceState); 
      setContentView(R.layout.play_video); 

      videoView = (VideoView) findViewById(R.id.videoView); 

      progressDialog = ProgressDialog.show(PlayVideo.this, "", "Buffering     
      video...",true); 
      progressDialog.setCancelable(true); 


      PlayVideo(); 

     } 
     private void PlayVideo() 
     { 
      try 
      {  
        getWindow().setFormat(PixelFormat.TRANSLUCENT); 
        MediaController mediaController = new MediaController(PlayVideo.this); 
        mediaController.setAnchorView(videoView);   

        Uri video = Uri.parse(videourl);   
        videoView.setMediaController(mediaController); 
        videoView.setVideoURI(videoPath); 
        videoView.requestFocus();    
        videoView.setOnPreparedListener(new OnPreparedListener() 
        { 

         public void onPrepared(MediaPlayer mp) 
         {     
           progressDialog.dismiss(); 
           videoView.start(); 
         } 
        }); 

      } 
      catch(Exception e) 
      { 
        progressDialog.dismiss(); 
        System.out.println("Video Play Error :"+e.toString()); 
        finish(); 
      } 

     } 
} 

Bạn có thể tìm mã từ bên dưới liên kết:

http://hasmukhbhadani.blogspot.in/search/label/Video-Play%20Live%20Streaming%20in%20Android.

Các vấn đề liên quan