视频播放器MP4的简单实现

news/2024/10/18 0:18:35/

截图:



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

1)main.xml

增加了<ImageView />(用来显示图片按钮)、<SurfaceView />(用来作为屏幕)


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

<?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" android:background="@android:color/white"><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="女神牌mp4视频播放器"/><EditText android:id="@+id/et_name"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="oppo.mp4"/><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/play"android:onClick="play"android:layout_marginRight="10dp"/><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/pause"android:onClick="pause"android:layout_marginRight="10dp"/><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/stop"android:onClick="stop"android:layout_marginRight="10dp"/><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/reset"android:onClick="reset"android:layout_marginRight="10dp"/></LinearLayout><SurfaceView android:id="@+id/sv_info"android:layout_width="fill_parent"android:layout_height="224dp"/>
</LinearLayout>


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;@Overrideprotected 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 {@Overridepublic 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();}@Overridepublic 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;}}

源代码下载地址为:

http://download.csdn.net/detail/caihongshijie6/6285127


http://www.ppmy.cn/news/131959.html

相关文章

【安卓软件】KMPlayer-一款完美的媒体播放器 可以播放所有格式的字幕和视频

KM Player KM Player是一款未编码的视频播放器&#xff0c;让您无需编码即可方便地播放各种格式的视频&#xff0c;并为您的新体验添加了字幕支持、视频播放速度和手势等功能。 KMPlayer 拥有美观和直观的设计&#xff0c;让您可以更方便地管理和播放视频&#xff01; 功能 高品…

在线播放mp4

在线播放mp4 1、准备好支持再网页上播放的mp4格式 AVC(h264) 格式的mp4 2、用ckplayer控制播放 (1)到ckplayer下载js。如:http://www.ckplayer.com/down/ (2)到flask工程中写html静态代码 <!DOCTYPE html> <html lang="en"> <head><…

无需任何软件,一条指令将其他格式视频转成MP4格式

将其他格式视频转成MP4格式 在日常生活中我们使用的大多播放器缓存的视频文件都不是MP4格式&#xff0c;那么我们应该如何来进行格式转换呢&#xff1f;当然格式转换的方法有很多&#xff0c;我今天要讲的是一种比较简单的方法&#xff0c;操作简单不需要安装任何软件即可转换…

MP4文件播放不了是什么原因?原因及解决办法分享!

为什么mp4文件播放不了&#xff1f;常见的有三种原因&#xff0c;可能是由于视频流或音频流不兼容导致&#xff0c;可能是由于视频文件损坏&#xff0c;也可能是因为电脑上缺乏编解码器。下面小编根据mp4文件无法播放的三种可能进行针对性解答。 原因一&#xff1a;视频流或音频…

视频工具下载(m3u8、MP4)

下载视频m3u8工具 FFmpeg 转 ts 格式 笔记有点乱 都是一笔带过&#xff08;有链接&#xff09;&#xff0c;可以参考别人教程 1、下载m3u8工具&#xff08;支持win和liunx&#xff09; 下载链接 20201019 &#xff08;都是2020年的&#xff0c;还是可以用&#xff09; 使用…

mp4文件播放不了怎么办?

MP4 是最常见和最常用的数字多媒体格式&#xff0c;几乎与所有设备兼容&#xff0c;不管是台式机、笔记本电脑还是手机&#xff0c;无论是Windows或者Mac系统。如果无法播放视频&#xff0c;则说明文件格式已损坏。下面将从以下几个方面来给大家介绍MP4视频的相关知识。 第 1 …

mp4视频格式转换器工具,万兴优转-多功能视音频处理软件

MP4是一种大众熟知的视频格式其优势在于在所有的播放器上都能够基本适用因此对于一些较为特殊的视频格式往往都需要将其转换为MP4视频格式才能够在播放器上正常播放。 那么怎样才能将这些特殊的视频格式转换为常用的mp4视频格式呢&#xff1f;这就需要用到mp4视频格式转换器工具…

mp4缓冲播放

情景描述 后台上传mp4文件到服务器&#xff0c;通过nginx代理静态资源MP4把访问地址参数提供给app。app用户反应&#xff0c;视频无法加载。或者加载过慢。&#xff08;在chrome&#xff0c;firefox,360等众多浏览器直接访问mp4访问地址都是秒播&#xff09;mp4文件格式 moov对…