SurfaceView高级加MediaPlayer
用SurfaceView和MediaPlayer实现播放mp3和加载歌词
package com.example.surfaceviewmediaplayer_01.fragments;import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.PorterDuff;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.SeekBar;import com.example.surfaceviewmediaplayer_01.R;import java.util.Timer;
import java.util.TimerTask;/*** A simple {@link Fragment} subclass.*/
public class diyiFragment extends Fragment implements SurfaceHolder.Callback {private Button buttonPlay;private Button buttonStart;private Button buttonStop;private SeekBar seekBarId;private SurfaceView surfaceId;private SurfaceHolder holder;private MediaPlayer mediaPlayer;public diyiFragment() {// Required empty public constructor}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View inflate = inflater.inflate(R.layout.fragment_diyi, container, false);buttonPlay = (Button) inflate.findViewById(R.id.button_play);seekBarId = (SeekBar) inflate.findViewById(R.id.seekBar_id);surfaceId = (SurfaceView) inflate.findViewById(R.id.surface_id);buttonStart = (Button) inflate.findViewById(R.id.button_start);buttonStop = (Button) inflate.findViewById(R.id.button_stop);holder = surfaceId.getHolder();holder.addCallback(this);mediaPlayer = new MediaPlayer();buttonPlay.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mediaPlayer.reset();try {mediaPlayer.setDataSource("/mnt/sdcard/okgo.mp3");mediaPlayer.prepareAsync();mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {seekBarId.setMax(mediaPlayer.getDuration());mediaPlayer.start();new Thread(new Runnable() {@Overridepublic void run() {int x = getActivity().getWindow().getDecorView().getS
SurfaceView高级加MediaPlayer相关推荐
- Android播放器自定义,android surfaceView+mediaPlayer 自定义视频播放器
你可以参考我的写法,注意点就是你自定义的MyCallBack()里面要回调,也就是我写的SurfaceCallBack()里面的SurfaceCreated()函数要实现你写的setOnPrepare ...
- Android之使用MediaPlayer和SurfaceView组件播放一个简单的视频
1.MediaPlayer除了可以播放音乐外,还可以播放视频,但是使用MediaPlayer播放音乐时,没有提供图像输出界面,可以使用SurfaceView组件来显示视频画面,首先,必须在布局文件ac ...
- android 录制图片、视频插入系统相册视频相册列表中,视频mediaPlayer静音和mediaPlayer恢复静音,SurfaceView+mediaplayer视频播放,自定义任意view显示
video_duration = mediaPlayer.getDuration() / 1000 video_duration需要在prepare()监听中进行初始化 通知系统,将图片.视频更新到系 ...
- Android高级终端开发学习笔记(《疯狂Android讲义》第11章-第17章)
Android高级终端开发笔记 2021/6/19 下午 13:34开始 多媒体应用开发 Android支持的音频格式有:MP3 WAV 3GP等.支持的视频格式有MP4 3GP等. 多媒体数据既可以 ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- 安卓使用MediaPlayer播放视频
安卓使用MediaPlayer播放视频 媒体播放器MediaPlayer不仅可以播放音频文件,还可以播放格式为3.gp的视频文件. 与播放音频不同之处为,用于视频播放的播放承载体必须是实现了表面视图处 ...
- MediaPlayer简单使用
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- Android SurfaceView的生命周期
本文利用SurfaceView来实现视频的播放 本文地址:http://www.cnblogs.com/wuyudong/p/5851156.html,转载请注明源地址. 在main.xml布局文件添 ...
- android 视频播放滤镜,用openGL ES+MediaPlayer 渲染播放视频+滤镜效果
之前曾经写过用SurfaceView,TextureView+MediaPlayer 播放视频,和 ffmpeg avi解码后SurfaceView播放视频,今天再给大家来一篇openGL ES+Me ...
最新文章
- python使用argparse解析命令行参数
- Java 统计字母个数
- oracle解析失败事件,ORACLE诊断事件及深入解析10053事件
- UA SIE545 优化理论基础4 对偶理论简介4 求解对偶问题的割平面算法
- 蓝桥杯:算法训练之最大最小公倍数
- SSIS 包部署错误 0xC0010014
- android 查询wifi信息的类,Android 获取wifi信息
- C语言自学之路十四(详解C语言初阶结构体)
- [CTF攻防世界] WEB区 关于备份的题目
- Windows 关闭 简繁体切换Ctrl+Shift+F
- ios云信不能全屏_ios集成网易云信IM功能遇到的坑
- 计算机应届生必看--Java基础笔试面试题(一)
- 彻底理解js的作用域链
- 微信小程序webview清除缓存、微信公众号h5清除缓存、页面白屏、空白、不刷新问题
- CMMI流程—配置管理流程
- Microcontent - 微内容
- 一家企业,从创办到倒闭,一共需要用到多少独立系统或软件?
- R语言: 单个正态总体的假设检验(单样本t检验)
- 从世界500强到破产重整,渤海钢铁到底经历了什么?
- Halcon实用:焊点检出设计思路
热门文章
- AndEngine 环境配置出错解决
- 【Python之numpy库】5.np.piecewise 操作方程
- 仿射密码(加法密码+乘法密码)
- 【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL
- 基于若依框架(RuoYi-master)实现的的文件上传功能
- pairwise or pointwise?
- 解决Maven报错:Plugin execution not covered by lifecycle configuration
- 详解双极结型晶体管的工作原理
- JBoss安装并部署war包
- error: ‘z_size_t’ does not name a type