最近在写一个点播的APP,所以就对流媒体播放研究了一下,下面是一个最简单的视频播放代码
1:layout文件
<?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="vertical" >
<!-- 上部 -->
<VideoView
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_load"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="快进" />
<Button
android:id="@+id/btn_play"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="播放" />
<Button
android:id="@+id/btn_pause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="暂停" />
</LinearLayout>
</LinearLayout>
2:java播放类
import android.app.Activity;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class VideoViewDemo extends Activity {
private VideoView mVideoView;
private boolean flag = true;
private String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/33.avi";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.videoview);
Button btn_pause = (Button) findViewById(R.id.btn_pause);
Button btn_play = (Button) findViewById(R.id.btn_play);
mVideoView = (VideoView) findViewById(R.id.surface_view);
path="http://jobsfe.funshion.com/play/v1/mp4/f80af2799774988214b69094a7d56e4a.mp4";
mVideoView.setVideoPath(path);
mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
mVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mVideoView.setSubShown(true);
}
});
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
// 播放按钮
btn_play.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mVideoView.start();
}
});
btn_pause.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mVideoView.pause();
}
});
}
@Override
protected void onStop() {
this.finish();
super.onStop();
}
private int mLayout = VideoView.VIDEO_LAYOUT_ORIGIN;
@Override
public void onConfigurationChanged(Configuration newConfig) {
if (mVideoView != null)
mVideoView.setVideoLayout(mLayout, 0);
super.onConfigurationChanged(newConfig);
}
}
就这样,别忘了 最后在AndroidManifest.xml配置权限问题,一个简单的流媒体播放 就搞定了