`
haitian235
  • 浏览: 62468 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

android音乐播放器

阅读更多
package cn.yinuo.service;

import java.io.File;

import java.io.IOException;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity {
    private String filenameText;
    private File audioFile;
    private MediaPlayer mediaPlayer;
    private int position;
    musicActivity music;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show);
       
        mediaPlayer = new MediaPlayer();
        ButtonClickListen listener = new ButtonClickListen();
    
        filenameText =music.musicname;
       
        Button playbutton = (Button) this.findViewById(R.id.start);
        Button pausebutton = (Button) this.findViewById(R.id.pause);
        Button resetbutton = (Button) this.findViewById(R.id.next);
        Button stopbutton = (Button) this.findViewById(R.id.stop);
        playbutton.setOnClickListener(listener);
        pausebutton.setOnClickListener(listener);
        resetbutton.setOnClickListener(listener);
        stopbutton.setOnClickListener(listener);
    }
   
    @Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    position = savedInstanceState.getInt("position");
    String path = savedInstanceState.getString("path");
    if(path!=null){
    audioFile = new File(path);
    }
super.onRestoreInstanceState(savedInstanceState);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    outState.putInt("position", position);
    if(audioFile!=null){
    outState.putString("path", audioFile.getAbsolutePath());
    }
super.onSaveInstanceState(outState);
}

@Override
protected void onDestroy() {
    mediaPlayer.release();
super.onDestroy();
}

@Override
protected void onResume() {
if(position > 0 && audioFile != null){
try {
play();
mediaPlayer.seekTo(position);
} catch (Exception e) {
e.printStackTrace();
}
}
super.onResume();
}

@Override
protected void onPause() {
if(mediaPlayer.isPlaying()){
position = mediaPlayer.getCurrentPosition();
mediaPlayer.stop();
}
super.onPause();
}

private class ButtonClickListen implements View.OnClickListener{
private boolean pause;

@Override
public void onClick(View v) {
try {
switch (v.getId()) {
case R.id.start:
audioFile = new File(Environment.getExternalStorageDirectory(), filenameText);
if(!audioFile.exists()){
Toast.makeText(MainActivity.this, "文件不存", 1).show();
return;
}
play();
break;

case R.id.pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
pause = true;
((Button)v).setText(R.string.hello);
}else{
if(pause){
mediaPlayer.start();//继续播放音乐
pause = false;
((Button)v).setText(R.string.hello);
}
}
break;

case R.id.next:
if(mediaPlayer.isPlaying()){
mediaPlayer.seekTo(0);
}else{
audioFile = new File(Environment.getExternalStorageDirectory(), filenameText);
if(!audioFile.exists()){
Toast.makeText(MainActivity.this, "文件不存", 1).show();
return;
}
play();
}
break;

case R.id.stop:
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}  
    }

private void play() throws IOException {
mediaPlayer.reset();
mediaPlayer.setDataSource(audioFile.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();
}
}
分享到:
评论

相关推荐

    android音乐播放器demo

    以下将详细解析“android音乐播放器demo”所涵盖的知识点。 首先,Android音乐播放器的核心是媒体播放服务(MediaPlayer)。这是一个系统级的服务,用于处理音频和视频文件的播放。在Android中,MediaPlayer类提供...

    简单的Android音乐播放器

    【Android音乐播放器开发概述】 在移动应用领域,Android音乐播放器是常见且实用的应用类型。这个项目"简单的Android音乐播放器"旨在提供一个基础框架,让用户能够进行音乐的播放、暂停、上一曲和下一曲操作,并且...

    Android音乐播放器(Android studio)

    【Android音乐播放器开发详解】 在Android开发领域,构建一个音乐播放器是常见的实践项目,它可以帮助开发者深入了解Android系统的多媒体处理、用户界面设计以及数据管理等核心知识点。本项目"Android音乐播放器...

    Android音乐播放器毕业设计论文

    4.4 Android 音乐播放器的工程 - 26 - 4.4.1 Android项目 - 26 - 4.4.2 Android工程程序结构 - 27 - 4.4.3 AndroidManifest.xml文件 - 29 - 第五章 播放器系统功能详细设计 - 31 - 5.1音乐播放器主界面功能实现 - 31...

    android音乐播放器需求分析

    ### Android音乐播放器需求分析深度解析 #### 一、项目背景与目标 在3G技术的迅猛发展中,人们对音乐的追求日益高涨,市场上的音乐播放器虽多,但普遍存在操作复杂或音质不佳等问题,难以满足用户的高品质音乐体验...

    基于Eclipse的Android音乐播放器.rar

    【基于Eclipse的Android音乐播放器】 在移动设备上开发应用程序是现代软件工程的重要组成部分,尤其是在Android平台上。Eclipse作为一款流行的集成开发环境(IDE),曾经是Android开发者的首选工具。本项目“基于...

    Android音乐播放器,本地播放,网络播放

    综上所述,开发一个具备本地和网络播放功能的Android音乐播放器,涉及到了音频处理、媒体库操作、网络流媒体、UI设计、播放控制、服务管理、权限处理、性能优化等多个方面的技术知识点。每个环节都需要细致入微的...

    android音乐播放器Demo代码

    这个"android音乐播放器Demo代码"提供了一个基础的实现框架,对于学习和理解如何在Android上构建音乐播放功能非常有帮助。下面将详细介绍这个Demo涉及到的关键知识点。 1. **Android SDK**:首先,这个Demo是基于...

    android音乐播放器测试歌曲

    这款"android音乐播放器测试歌曲"的应用显然专注于测试音乐播放功能,我们可以通过分析它的内容来深入理解相关技术。 首先,我们要讨论的是Android音频框架。Android系统提供了一个强大的音频框架,包括Media ...

    android音乐播放器源码

    下面,我们将围绕"android音乐播放器源码"这一主题,深入探讨其中的关键知识点。 首先,音乐播放器的核心是音频处理。在Android中,我们可以使用`MediaPlayer`类来播放音频文件。`MediaPlayer`提供了丰富的API,...

    android 音乐播放器 绝对好用 完整代码

    android 音乐播放器 经典完整代码 非常经典 非常好用 绝对是原创的哦 绝对可以使用的哦 学习之良品,项目代码涉及知识非常广泛,可以通过本项目代码学习到android的四大组件 以及很多编程技巧 希望各位同学好好利用.

    android 音乐播放器源码下载

    【Android音乐播放器源码详解】 在Android平台上开发一款音乐播放器是一项常见的任务,而能够获得一份详尽注释的源码无疑是学习和提升的好材料。这个“Android音乐播放器源码”提供了一个完整的实现,从用户界面...

    Android 音乐播放器开发

    下面我们将深入探讨这个话题,主要基于"Android音乐播放器开发"的描述,以及与之相关的标签和技术点。 首先,我们要明白Android音乐播放器的基本功能包括播放音乐、管理本地音乐库、支持在线音乐的下载和播放,以及...

    android 音乐播放器完整版本

    【Android音乐播放器完整版本】是一款专为Android操作系统设计的音乐播放软件,由国外开发者精心制作,具有丰富的功能和出色的用户体验。这款播放器不仅具备基本的音频播放能力,还包含了一些独特而炫酷的特效,使得...

    android音乐播放器源代码

    【Android音乐播放器源代码详解】 在Android平台上开发一款音乐播放器是一项技术性强且充满挑战的任务,涉及到多媒体处理、UI设计、数据管理等多个方面。这个开源项目为开发者提供了一个很好的起点,它展示了如何...

    Android 音乐播放器简单实现源码实例下载

    首先,Android音乐播放器的核心是媒体播放器(MediaPlayer)类,它是Android SDK中的一个重要组件,用于播放音频和视频文件。在`Music`这个项目中,我们可以看到如何使用MediaPlayer类来播放设备上的音乐文件。...

    Android音乐播放器实例教学Demo

    【Android音乐播放器实例教学Demo】是一个非常适合初学者和进阶开发者学习的项目,它旨在模仿知名的音乐播放器应用,提供了完整的源码供学习者参考。这个Demo涵盖了Android开发中的多个重要技术点,包括Service、...

Global site tag (gtag.js) - Google Analytics