2013-07-09 98 views
1

我有这样的方法,用于播放视频:Videoview不玩视频

private void changeVideoState() { 
    playing = !playing; 
    if (playing) { 
     videoView.start(); 
     play.setVisibility(View.GONE); 
     stop.setVisibility(View.VISIBLE); 
    } else { 
     videoView.stopPlayback(); 
     stop.setVisibility(View.GONE); 
     play.setVisibility(View.VISIBLE); 
    } 
} 

在第一时间调用方法时视频已被播放。

但任何其他时间,当我尝试拨打videoView.start()没有任何反应。

这里是videoview的初始化

videoView = (VideoView) findViewById(R.id.preview); 
    MediaController mc = new MediaController(getActivity()); 
    // mc.setAnchorView(videoView); 
    mc.setMediaPlayer(videoView); 
    videoView.setMediaController(mc); 
    videoView.setVideoURI(Uri.fromFile(file)); 
+0

是否显示任何错误? – ridoy

回答

0

试试这个one.It工作正常,我..

VideoView videoView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    videoView = (VideoView)findViewById(R.id.videoView);   
    videoView.setVideoPath("/sdcard/sample.3gp"); 
    videoView.start(); 
} 

或者,
把你的视频在res/raw folder.And then ..

public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     showVideo(); 
    } 
private void showVideo() 
{ 
    VideoView vd = (VideoView)findViewById(R.id.videoView); 
    Uri uri = Uri.parse("android.resource://package/"+R.raw.movie); 
    MediaController mc = new MediaController(this); 
    vd.setMediaController(mc); 
    vd.setVideoURI(uri); 
    vd.start(); 
} 

当然试试它在真实的设备而不是模拟器。

+0

它在第一次工作,但我停止视频'stopPlayback()',然后调用'videoView.start();'它再次不起作用。 – user1940676

+0

看到http://stackoverflow.com/questions/9290477/videoview-stop-display-when-activity-resumed-and-restart – ridoy

+0

我有一个'停止'和'开始'按钮,当点击一个它应该停止和再次开始视频。 – user1940676