该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package com.example.frame.a123;

import android.app.Service;

import android.content.Intent;

import android.media.MediaPlayer;

import android.os.Binder;

import android.os.Bundle;

import android.os.IBinder;

import android.os.Message;

import android.support.annotation.Nullable;

import java.io.IOException;

import java.util.Timer;

import java.util.TimerTask;

//创建一个继承自服务的音乐服务类

public class MusicService extends Service {

private MediaPlayer player;

private Timer timer;

//绑定服务时,调用此方法

@Nullable

@Override

public IBinder onBind(Intent intent) {

return new MusicControl();

}

//创建播放音乐的服务

@Override

public void onCreate() {

super.onCreate();

//创建音乐播放器对象

player = new MediaPlayer();

}

//销毁播放音乐服务

@Override

public void onDestroy() {

super.onDestroy();

//停止播放音乐

player.stop();

//释放占用的资源

player.release();

//将player置为空

player = null;

}

//播放音乐

public void play() {

try {

if(player == null)

{

player = new MediaPlayer();

}

//重置

player.reset();

//加载多媒体文件

player.setDataSource("/storage/C21F-1AE9/D.mp3");

//准备播放音乐

player.prepare();

//播放音乐

player.start();

//添加计时器

addTimer();

} catch (IOException e) {

e.printStackTrace();

}

}

//暂停播放音乐

public void pausePlay() {

player.pause();

}

//继续播放音乐

public void continuePlay() {

player.start();

}

//创建一个实现音乐接口的音乐控制类

class MusicControl extends Binder implements MusicInterface {

@Override

public void play() {

MusicService.this.play();

}

@Override

public void pausePlay() {

MusicService.this.pausePlay();

}

@Override

public void continuePlay() {

MusicService.this.continuePlay();

}

@Override

public void seekTo(int progress) {

MusicService.this.seekTo(progress);

}

}

//设置音乐的播放位置

public void seekTo(int progress) {

player.seekTo(progress);

}

//添加计时器用于设置音乐播放器中的播放进度

public void addTimer() {

//如果没有创建计时器对象

if(timer == null) {

//创建计时器对象

timer = new Timer();

timer.schedule(new TimerTask() {

//执行计时任务

@Override

public void run() {

//获得歌曲总时长

int duration = player.getDuration();

//获得歌曲的当前播放进度

int currentPosition = player.getCurrentPosition();

//创建消息对象

Message msg = MainActivity.handler.obtainMessage();

//将音乐的播放进度封装至消息对象中

Bundle bundle = new Bundle();

bundle.putInt("duration", duration);

bundle.putInt("currentPosition", currentPosition);

msg.setData(bundle);

//将消息发送到主线程的消息队列

MainActivity.handler.sendMessage(msg);

}

},

//开始计时任务后的5毫秒,第一次执行run方法,以后每500毫秒执行一次

5, 500);

}

}

}

android import找不到文件夹,android 音乐播放器找不到源文件相关推荐

  1. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)...

    项目地址 https://github.com/979451341/OpenSLAudio OpenSL ES 是基于NDK也就是c语言的底层开发音频的公开API,通过使用它能够做到标准化, 高性能, ...

  2. android 恢复出厂 自动恢复文件夹,Android恢复出厂设置

    恢复出厂设置核心代码:sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); 即发送一个广播,需要在And ...

  3. Android 实训:日志(基于外部存储音乐播放器V01)

    项目功能 功能:播放存储卡指定目录里某一首音乐 实现步骤 创建安卓应用 将图片素材放入drawable 将音乐素材文件放入存储卡 找到sdk目录下的tools 打开montor.exe 将音乐素材放入 ...

  4. Android——用Activity和Service实现简单的音乐播放器

    一.只用Activity 容易出现问题 xml <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  5. TimingLaba(定时播放软件)控制文件夹内音乐播放间隔的方法

    TimingLaba(定时喇叭)作为一款专业的定时播放音乐软件(http://www.wsgsoft.com/laba/),用于幼儿园.培训机构定时播放打铃.课间操.背景音乐外,也可以定时播放一些学习 ...

  6. Android Studio如何实现音乐播放器(简单易上手)

    我们大家平时长时间打代码的时候肯定会感到疲惫和乏味,这个时候一边播放自己喜欢的音乐,一边继续打代码,心情自然也愉快很多.音乐带给人的听觉享受是无可比拟的,动听的音乐可以愉悦人的身心,让人更加积极地去热 ...

  7. android七大主流Android音乐播放器横向评测

    随着智能手机和3G网络的普及,移动互联网日益成为人们生活娱乐的重心之一.在音乐领域,竞争也十分激烈,在PC之后,几大提供音乐服务的厂商正在加紧占据手机客户端. 本期我们在Android平台挑选了七家国 ...

  8. Android课设:简易音乐播放器

    实验主题 本次课程设计计划实现一个低配版的仿网易云音乐的音乐播放器,主要实现功能如下: 打开APP需先进行注册 已有账号可进行登录 登录后跳转至音乐界面,本地歌曲列表读取本地音乐文件并显示 点击本地音 ...

  9. 计算机毕业设计android的在线音乐播放器app设计(源码+系统+mysql数据库+Lw文档)

    项目介绍 Android是Google公司公布的基于Linux内核的手机操作系统,其代码属于完全开放,为开源软件开发人员提供使用方便的框架和平台.,本文以Android开发平台为基础,介绍了音乐播放器 ...

最新文章

  1. etcd — Overview
  2. 三.Linux平台安装MongoDB
  3. ZOJ 3597 Hit the Target! (线段树扫描线 -- 矩形所能覆盖的最多的点数)
  4. 一文读懂:从 Python 打包到 CLI 工具
  5. Luy 1.0 :一个React-like轮子的诞生
  6. linux开权限变绿了,解读Linux文件权限的设置方法
  7. aix升级openssh_AIX5.3如何安装openssh | 学步园
  8. 机器学习算法之生成树
  9. CUDA C编程权威指南 第三章 CUDA执行模型
  10. OpenCV-通道分离cv::split
  11. 装文件存储服务器Fastdfs
  12. maven项目使用mybatis插件Free Mybatis plugin
  13. h5网页版字母消除游戏制作,html+jquery
  14. NFT艺术品交易平台
  15. 【Python绘图】pyecharts绘制南丁格尔玫瑰图
  16. 介绍一款迷你版win10系统!电脑内存小的用户可入
  17. mysql-5.5.20-winx64_mysql-5.7.20-winx64命令安装
  18. Refused to execute inline script because it violates the following Content Security Policy directive
  19. 南宁发展重点向南 五象湖标志性建筑“五象塔”落成
  20. 12、微信前端开发利器:WeUI

热门文章

  1. 拍乐云基于AV1的实时视频系统技术实践
  2. 2019年低延迟直播技术展望
  3. 直播预约 | 揭秘微信支付背后的数据库技术
  4. linux服务器之查看内存使用情况
  5. linux平台关于内存,cpu,连接数,流量监控(一)
  6. ffmpeg ffplay ffprobe使用说明
  7. 理解音视频 PTS 和 DTS
  8. go 原子操作 atomic
  9. 面试必会系列 - 1.8 Spring IOC / AOP原理
  10. P8-DevOps中的CI/CD环境搭建与调优