www.pudn.com > VideoProject.rar > Mp4List.java


package org.hqx.android.videoproject; 
 
import java.io.File; 
import java.io.FilenameFilter; 
import java.util.ArrayList; 
import java.util.List; 
import android.app.ListActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Menu; 
import android.view.View; 
import android.view.Menu.Item; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.VideoView; 
 
 
class Mp4Filter implements FilenameFilter { 
	public boolean accept(File dir, String name) { 
		return (name.endsWith(".mp4")); 
	} 
} 
 
public class Mp4List extends ListActivity { 
	 
	private static final int menu_mp4_start_ID = Menu.FIRST; 
	private static final int menu_mp4_pause_ID = Menu.FIRST+1; 
	private static final int menu_mp4_exit_ID = Menu.FIRST+2; 
	 
	public static final String MEDIA_PATH = new String("/sdcard/android/"); 
    private List vedios = new ArrayList(); 
    private VideoView w = null; 
    @Override 
    protected void onCreate(Bundle icicle) { 
		super.onCreate(icicle); 
        setContentView(R.layout.mp4list); 
        Log.d("½øÈëmp4", "what"); 
        w =(VideoView)findViewById(R.id.vdoplayer1); 
        updateVedioList(); 
         
} 
    public boolean onCreateOptionsMenu(Menu menu) { 
        super.onCreateOptionsMenu(menu); 
        menu.add(0, menu_mp4_start_ID, R.string.mp4_menu_start); 
        menu.add(0, menu_mp4_pause_ID, R.string.mp4_menu_pause); 
        menu.add(0, menu_mp4_exit_ID, R.string.mp4_menu_exit); 
        return true; 
    } 
     
    public boolean onMenuItemSelected(int featureId, Item item) { 
        super.onMenuItemSelected(featureId, item); 
         
        switch(item.getId()) { 
        case menu_mp4_start_ID: 
        	w.start(); 
            break; 
        case menu_mp4_pause_ID: 
        	w.pause(); 
        	break; 
        case menu_mp4_exit_ID: 
                 setResult(RESULT_OK, null, null); 
                 finish();		 
        	break;	 
        } 
        return true; 
    } 
     
     
     
	private void updateVedioList() { 
		File home = new File(MEDIA_PATH); 
		if (home.listFiles( new Mp4Filter()).length > 0) { 
    		for (File file : home.listFiles( new Mp4Filter())) { 
    			vedios.add(file.getName()); 
    		} 
    		ArrayAdapter vedioList = new ArrayAdapter(this,R.layout.mp4item,vedios); 
    		setListAdapter(vedioList); 
		}     
		 
	} 
	@Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
		w.setVideoPath(MEDIA_PATH + vedios.get(position)); 
	}	 
}