2012-04-10 76 views
1

我已經構建了一個應用程序,其中包含來自Internet的流,並且我對它們的性能印象不深。任何人都想分享從SD卡加載視頻的代碼。播放來自SD卡的視頻

謝謝

+0

你想從SD卡播放視頻,對不對? 它更好,如果你分享你的代碼的一部分了解。 – RobinHood 2012-04-10 05:43:35

+0

通過ApiDemo代碼,並設置路徑如 -/mnt/sdcard/<位置和文件名> – 2012-04-10 05:45:12

回答

3

我希望這個代碼幫助ü

public class video extends Activity{ 

    VideoView video_view; 
    String ex_name; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.eccryption); 
     video_view = (VideoView) findViewById(R.id.videoView1); 

     ex_name = getIntent().getExtras().getString("video_name"); 

     MediaController mediaController = new MediaController(this); 
     mediaController.setAnchorView(video_view); 
     video_view.setMediaController(new MediaController(this)); 
     handler.sendEmptyMessage(1); 

    } 

    Handler handler = new Handler(){ 

     public void handleMessage(Message msg){ 

      int pos=msg.what; 
      if (pos == 1){ 

       video_view.setVideoPath(Environment.getExternalStorageDirectory()+"/"+ex_name+".mp4"); 
       video_view.requestFocus(); 
       video_view.start(); 

       Log.d("Before Video Finish", "i m in before video finish"); 
       video_view.setOnCompletionListener(new OnCompletionListener() { 
        @Override 
        public void onCompletion(MediaPlayer mp) { 
         finish(); 
        } 
       }); 
      } 
     } 
    }; 

使用此代碼這段代碼,親愛的朋友們!

0

創建活動並在需要播放視頻時調用它。 您可以將Intent中的視頻路徑(url或sdcard或資源)捆綁在一起。 然後在你的活動應該只包含一個FrameLayoutVideoView這樣做:

Intent intent = getIntent(); 
    Bundle extras = intent.getExtras(); 
    if (extras != null) { 
     mVideoPath = extras.getString(INTENT_EXTRA_URI); 
     int resId = getResId(mVideoPath, R.raw.class); 
        String uriPath = null; 
     if (mVideoPath.startsWith("http://") || mVideoPath.startsWith("https://")) { 
      uriPath = mVideoPath; 
     } else if (mVideoPatah.startsWith("/mnt/sdcard/")) { 
      uriPath = mVideoPath; 
     } else { 
      int resId = getResId(mVideoPath, R.raw.class); 
      uriPath = "android.resource://" + getResources().getResourcePackageName(resId) + "/" + resId; 
     } 
     mVideoView.setVideoURI(Uri.parse(uriPath)); 
     MediaController mediaController = new MediaController(this); 
     mVideoView.setMediaController(mediaController); 
     mVideoView.requestFocus(); 
     mVideoView.start();   
    }