2011-03-01 140 views
0

我想显示视频文件bt它不显示只有音频即将到来。任何人都可以帮助我?视频不显示!

这是我的代码。

在其中显示列表中的活动:

public class AudioPlay extends ListActivity{ 

    private static final String MEDIA_PATH = new String("/sdcard/"); 

    private List<String> songs = new ArrayList<String>(); 

    private MediaPlayer mp = new MediaPlayer(); 

    private int currentPosition = 0; 



    @Override 

    public void onCreate(Bundle icicle) { 

      super.onCreate(icicle); 
     setContentView(R.layout.songlist); 

      updateSongList(); 

    } 

    public void updateSongList() { 

      File home = new File(MEDIA_PATH); 

      if (home.listFiles(new Mp3Filter()).length > 0) { 

        for (File file : home.listFiles(new Mp3Filter())) { 

          songs.add(file.getName()); 

        } 
       ArrayAdapter<String> songList = new ArrayAdapter<String>(this, 

            R.layout.song_item, songs); 

        setListAdapter(songList); 

      } 

    } 

    class Mp3Filter implements FilenameFilter { 

      public boolean accept(File dir, String name) { 

        return (name.endsWith(".mp3")); 

      } 

    } 

    @Override 

    protected void onListItemClick(ListView l, View v, int position, long id) { 

      currentPosition = position; 

      playSong(MEDIA_PATH + songs.get(position)); 

    } 

    private void playSong(String songPath) { 

      try { 



        mp.reset(); 

        mp.setDataSource(songPath); 

        mp.prepare(); 

        mp.start(); 



        // Setup listener so next song starts automatically 

        mp.setOnCompletionListener(new OnCompletionListener() { 



          public void onCompletion(MediaPlayer arg0) { 

            nextSong(); 

          } 

        }); 

      } catch (IOException e) { 

        Log.v(getString(R.string.app_name), e.getMessage()); 

      } 

    } 

    private void nextSong() { 

      if (++currentPosition >= songs.size()) { 

        // Last song, just reset currentPosition 

        currentPosition = 0; 

      } else { 

        // Play next song 

        playSong(MEDIA_PATH + songs.get(currentPosition)); 

      } 

    } 
} 

的活动中使用videoview:

public class videoshow extends Activity{ 
    public void onCreate(Bundle savedInstance) 
    { 
     super.onCreate(savedInstance); 
     setContentView(R.layout.videoshow); 
     //Intent intent = getIntent(); 
     //Bundle bundle = intent.getExtras(); 
     VideoView videoview = (VideoView)findViewById(R.id.videoView1); 
     MediaController mediaController = new MediaController(this); 
       mediaController.setAnchorView(videoview); 
     //videoview.setVideoPath(bundle.getString("pos")); 
     videoview.setMediaController(new MediaController(this)); 
     videoview.requestFocus(); 
     videoview.setVideoPath(MEDIA_PATH); 

     videoview.start(); 
    } 

} 

PLZ帮我出

+0

我只是找不到这个错误.... plz帮我纠正我的代码..... – Piyush 2011-03-01 07:26:12

回答

0

它看起来就像你不及格在媒体播放器的表面。除非您使用setDisplay(SurfaceHolder sh)指定[看API],mediaplayer将不知道在哪里呈现视频。