视频播放器MP4的简单实现 您所在的位置:网站首页 Django视频播放器 视频播放器MP4的简单实现

视频播放器MP4的简单实现

#视频播放器MP4的简单实现| 来源: 网络整理| 查看: 265

视频播放器MP4的简单实现 原创

CAIHONGSHIJIE6 2013-09-18 10:18:01 博主文章分类:android ©著作权

文章标签 android xml Text 文章分类 JavaScript 前端开发

©著作权归作者所有:来自51CTO博客作者CAIHONGSHIJIE6的原创作品,请联系作者获取转载授权,否则将追究法律责任

截图:

视频播放器MP4的简单实现_Text

其实视频播放器的实现与音乐播放器的实现没有太大的区别。主要体现在:

1)main.xml

增加了(用来显示图片按钮)、(用来作为屏幕)

2)MainActivity

其实大部分还是一样的。只是在MP3音乐播放器的基础上早合适的位置上增加了以下:

SurfaceHolder holder = surfaceView.getHolder(); holder.setFixedSize(176, 144);//设置分辨率 holder.setKeepScreenOn(true);//保持屏幕高亮 holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);//不维持缓冲,得到数据后直接输出

mp.setDisplay(surfaceView.getHolder());//设置显示画面

代码如下:

1、main.xml

2、MainActivity

package com.NJUPT.mp4_1; import java.io.File; import android.media.MediaPlayer; import android.media.MediaPlayer.OnPreparedListener; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private MediaPlayer mp; private File file; private EditText et_name; private boolean pause; private int position = 0; private SurfaceView surfaceView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et_name = (EditText) findViewById(R.id.et_name); surfaceView = (SurfaceView) findViewById(R.id.sv_info); SurfaceHolder holder = surfaceView.getHolder(); holder.setFixedSize(176, 144); holder.setKeepScreenOn(true); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } public void play(View v) { String name = et_name.getText().toString(); file = new File(Environment.getExternalStorageDirectory(), name); if (!file.exists()) { Toast.makeText(this, "sorry,视频文件不存在", 1).show(); } else { play(); } } public void play() { try { mp = new MediaPlayer(); mp.reset(); mp.setDataSource(file.getAbsolutePath()); mp.setDisplay(surfaceView.getHolder()); mp.prepare(); mp.setOnPreparedListener(new MyOnPrepareListener()); } catch (Exception e) { e.printStackTrace(); } } private class MyOnPrepareListener implements OnPreparedListener { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } } public void pause(View v) { if (mp != null) { if (mp.isPlaying()) { mp.pause(); pause = true; } else { mp.start(); pause = false; } } } public void stop(View v) { if (mp != null) { mp.stop(); } } public void reset(View v) { stop(v); play(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }

收藏 评论 分享 举报

上一篇:Android SDK下载和更新失败的解决方法!!!

下一篇:快速学习新技术的几条建议



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有