欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

详解Android App中使用VideoView来实现视频播放的方法

程序员文章站 2024-02-29 17:09:52
通过videoview播放视频的步骤: 1、在界面布局文件中定义videoview组件,或在程序中创建videoview组件 2、调用videoview的如下两个方法来...

通过videoview播放视频的步骤:
1、在界面布局文件中定义videoview组件,或在程序中创建videoview组件
2、调用videoview的如下两个方法来加载指定的视频
(1)setvidepath(string path):加载path文件代表的视频
(2)setvideouri(uri uri):加载uri所对应的视频
3、调用videoview的start()、stop()、psuse()方法来控制视频的播放

videoview通过与mediacontroller类结合使用,开发者可以不用自己控制播放与暂停

package cn.com.chenzheng_java; 
 
import android.app.activity; 
import android.media.mediaplayer; 
import android.os.bundle; 
import android.util.log; 
import android.widget.mediacontroller; 
import android.widget.videoview; 
import android.widget.mediacontroller.mediaplayercontrol; 
 
public class videoactivity extends activity { 
 
  @override 
  protected void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.video); 
     
    videoview videoview = (videoview)findviewbyid(r.id.videoview1); 
    /*** 
     * 将播放器关联上一个音频或者视频文件 
     * videoview.setvideouri(uri uri) 
     * videoview.setvideopath(string path) 
     * 以上两个方法都可以。 
     */ 
    videoview.setvideopath("data/yueding.mp3"); 
     
    /** 
     * w为其提供一个控制器,控制其暂停、播放……等功能 
     */ 
    videoview.setmediacontroller(new mediacontroller(this)); 
     
    /** 
     * 视频或者音频到结尾时触发的方法 
     */ 
    videoview.setoncompletionlistener(new mediaplayer.oncompletionlistener() { 
      @override 
      public void oncompletion(mediaplayer mp) { 
        log.i("通知", "完成"); 
      } 
    }); 
     
    videoview.setonerrorlistener(new mediaplayer.onerrorlistener() { 
       
      @override 
      public boolean onerror(mediaplayer mp, int what, int extra) { 
        log.i("通知", "播放中出现错误"); 
        return false; 
      } 
    }); 
     
  } 
} 

video.xml

<?xml version="1.0" encoding="utf-8"?> 
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="match_parent" android:layout_height="match_parent" 
  android:orientation="horizontal"> 
  <videoview android:layout_height="match_parent" android:id="@+id/videoview1" 
    android:layout_width="wrap_content"></videoview> 
</linearlayout> 

当然,我们也可以播放网络上的多媒体。