
MediaPlayerDemo.java
发布日期:2021-05-08 01:24:09
浏览次数:24
分类:原创文章
本文共 2444 字,大约阅读时间需要 8 分钟。
- package com.android.test;
- import android.app.Activity;
- import android.media.MediaPlayer;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageButton;
- import android.widget.TextView;
- public class MediaPlayerDemo extends Activity {
- private ImageButton mb1,mb2,mb3;
- private TextView tv;
- private MediaPlayer mp;
- //声明一个变量判断是否为暂停,默认为false
- private boolean isPaused = false;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //通过findViewById找到资源
- mb1 = (ImageButton)findViewById(R.id.myButton1);
- mb2 = (ImageButton)findViewById(R.id.myButton2);
- mb3 = (ImageButton)findViewById(R.id.myButton3);
- tv = (TextView)findViewById(R.id.myTextView1);
- //创建MediaPlayer对象,将raw文件夹下的lovefool.mp3
- mp = MediaPlayer.create(this,R.raw.lovefool);
- //增加播放音乐按钮的事件
- mb1.setOnClickListener(new ImageButton.OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- if(mp != null)
- {
- mp.stop();
- }
- mp.prepare();
- mp.start();
- tv.setText("音乐播放中...");
- } catch (Exception e) {
- tv.setText("播放发生异常...");
- e.printStackTrace();
- }
- }
- });
- mb2.setOnClickListener(new ImageButton.OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- if(mp !=null)
- {
- mp.stop();
- tv.setText("音乐停止播放...");
- }
- } catch (Exception e) {
- tv.setText("音乐停止发生异常...");
- e.printStackTrace();
- }
- }
- });
- mb3.setOnClickListener(new ImageButton.OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- if(mp !=null)
- {
- if(isPaused==false)
- {
- mp.pause();
- isPaused=true;
- tv.setText("停止播放!");
- }
- else if(isPaused==true)
- {
- mp.start();
- isPaused = false;
- tv.setText("开始播发!");
- }
- }
- } catch (Exception e) {
- tv.setText("发生异常...");
- e.printStackTrace();
- }
- }
- });
- /* 当MediaPlayer.OnCompletionLister会运行的Listener */
- mp.setOnCompletionListener(
- new MediaPlayer.OnCompletionListener()
- {
- // @Override
- /*覆盖文件播出完毕事件*/
- public void onCompletion(MediaPlayer arg0)
- {
- try
- {
- /*解除资源与MediaPlayer的赋值关系
- * 让资源可以为其它程序利用*/
- mp.release();
- /*改变TextView为播放结束*/
- tv.setText("音乐播发结束!");
- }
- catch (Exception e)
- {
- tv.setText(e.toString());
- e.printStackTrace();
- }
- }
- });
- /* 当MediaPlayer.OnErrorListener会运行的Listener */
- mp.setOnErrorListener(new MediaPlayer.OnErrorListener()
- {
- @Override
- /*覆盖错误处理事件*/
- public boolean onError(MediaPlayer arg0, int arg1, int arg2)
- {
- // TODO Auto-generated method stub
- try
- {
- /*发生错误时也解除资源与MediaPlayer的赋值*/
- mp.release();
- tv.setText("播放发生异常!");
- }
- catch (Exception e)
- {
- tv.setText(e.toString());
- e.printStackTrace();
- }
- return false;
- }
- });
- }
- }
-
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月20日 06时20分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【考研英语-基础-简单句】简单句的核心变化_谓语情态
2021-05-07
Jetson AGX Xavier硬件自启动
2021-05-07
统计字符数
2021-05-07
实现一个简易Vue(三)Compiler
2021-05-07
仿小米商城(上)
2021-05-07
自动安装服务2
2021-05-07
HTML 和 CSS 简单实现注册页面
2021-05-07
(SpringMVC)springMVC.xml 和 web.xml
2021-05-07
jQuery中的动画
2021-05-07
1.2.3 项目、项目集、项目组合以及运营管理之间的关系
2021-05-07
【△重点△】LeetCode - 4. 寻找两个正序数组的中位数——二分查找
2021-05-07
LeetCode - 5. 最长回文子串——字符串、动态规划
2021-05-07
全局锁和表锁 :给表加个字段怎么有这么多阻碍?
2021-05-07
事务到底是隔离的还是不隔离的?
2021-05-07
二分查找与插入排序的结合使用
2021-05-07
892 三维形体的表面积(分析)
2021-05-07
16 最接近的三数之和(排序、双指针)
2021-05-07
279 完全平方数(bfs)
2021-05-07
875 爱吃香蕉的珂珂(二分查找)
2021-05-07