用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相关推荐

  1. Android播放器自定义,android surfaceView+mediaPlayer 自定义视频播放器

    你可以参考我的写法,注意点就是你自定义的MyCallBack()里面要回调,也就是我写的SurfaceCallBack()里面的SurfaceCreated()函数要实现你写的setOnPrepare ...

  2. Android之使用MediaPlayer和SurfaceView组件播放一个简单的视频

    1.MediaPlayer除了可以播放音乐外,还可以播放视频,但是使用MediaPlayer播放音乐时,没有提供图像输出界面,可以使用SurfaceView组件来显示视频画面,首先,必须在布局文件ac ...

  3. android 录制图片、视频插入系统相册视频相册列表中,视频mediaPlayer静音和mediaPlayer恢复静音,SurfaceView+mediaplayer视频播放,自定义任意view显示

    video_duration = mediaPlayer.getDuration() / 1000 video_duration需要在prepare()监听中进行初始化 通知系统,将图片.视频更新到系 ...

  4. Android高级终端开发学习笔记(《疯狂Android讲义》第11章-第17章)

    Android高级终端开发笔记 2021/6/19 下午 13:34开始 多媒体应用开发 Android支持的音频格式有:MP3 WAV 3GP等.支持的视频格式有MP4 3GP等. 多媒体数据既可以 ...

  5. Android 视频播放器 (二):使用MediaPlayer播放视频

    在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...

  6. 安卓使用MediaPlayer播放视频

    安卓使用MediaPlayer播放视频 媒体播放器MediaPlayer不仅可以播放音频文件,还可以播放格式为3.gp的视频文件. 与播放音频不同之处为,用于视频播放的播放承载体必须是实现了表面视图处 ...

  7. MediaPlayer简单使用

    在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...

  8. Android SurfaceView的生命周期

    本文利用SurfaceView来实现视频的播放 本文地址:http://www.cnblogs.com/wuyudong/p/5851156.html,转载请注明源地址. 在main.xml布局文件添 ...

  9. android 视频播放滤镜,用openGL ES+MediaPlayer 渲染播放视频+滤镜效果

    之前曾经写过用SurfaceView,TextureView+MediaPlayer 播放视频,和 ffmpeg avi解码后SurfaceView播放视频,今天再给大家来一篇openGL ES+Me ...

最新文章

  1. python使用argparse解析命令行参数
  2. Java 统计字母个数
  3. oracle解析失败事件,ORACLE诊断事件及深入解析10053事件
  4. UA SIE545 优化理论基础4 对偶理论简介4 求解对偶问题的割平面算法
  5. 蓝桥杯:算法训练之最大最小公倍数
  6. SSIS 包部署错误 0xC0010014
  7. android 查询wifi信息的类,Android 获取wifi信息
  8. C语言自学之路十四(详解C语言初阶结构体)
  9. [CTF攻防世界] WEB区 关于备份的题目
  10. Windows 关闭 简繁体切换Ctrl+Shift+F
  11. ios云信不能全屏_ios集成网易云信IM功能遇到的坑
  12. 计算机应届生必看--Java基础笔试面试题(一)
  13. 彻底理解js的作用域链
  14. 微信小程序webview清除缓存、微信公众号h5清除缓存、页面白屏、空白、不刷新问题
  15. CMMI流程—配置管理流程
  16. Microcontent - 微内容
  17. 一家企业,从创办到倒闭,一共需要用到多少独立系统或软件?
  18. R语言: 单个正态总体的假设检验(单样本t检验)
  19. 从世界500强到破产重整,渤海钢铁到底经历了什么?
  20. Halcon实用:焊点检出设计思路

热门文章

  1. AndEngine 环境配置出错解决
  2. 【Python之numpy库】5.np.piecewise 操作方程
  3. 仿射密码(加法密码+乘法密码)
  4. 【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL
  5. 基于若依框架(RuoYi-master)实现的的文件上传功能
  6. pairwise or pointwise?
  7. 解决Maven报错:Plugin execution not covered by lifecycle configuration
  8. 详解双极结型晶体管的工作原理
  9. JBoss安装并部署war包
  10. error: ‘z_size_t’ does not name a type