Android studio给备忘录添加背景音乐

目录

  • Android studio给备忘录添加背景音乐
  • 一、音乐导入
  • 二、代码
    • (1)AndroidMainfest.xml
    • (2)MyIntentService类
    • (3)EditActivity
  • 三、演示

一、音乐导入

在project/app/src/main/res/raw目录下添加音乐(命名要是英文的)

二、代码

(1)AndroidMainfest.xml

在AndroidMainfest.xml中的代码

<serviceandroid:name=".MyIntentService"android:exported="false" /><activity android:name=".EditActivity" /><activity android:name=".Alarm.EditAlarmActivity" /><activity android:name=".Alarm.AlarmActivity" /><receiver android:name=".Alarm.AlarmReceiver" /><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

在图示这个地方编辑以上代码

(2)MyIntentService类

package com.example.notebook;import android.app.IntentService;
import android.content.Intent;
import android.media.MediaPlayer;public class MyIntentService extends IntentService {// TODO: Rename actions, choose action names that describe tasks that this// IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMSpublic static final String ACTION_FOO = "com.example.notebook.action.FOO";public static final String ACTION_BAZ = "com.example.notebook.action.BAZ";// action声明 这里有五个背景音乐public static final String ACTION_MUSIC_1 = "com.example.notebook.action.music1";public static final String ACTION_MUSIC_2 = "com.example.notebook.action.music2";public static final String ACTION_MUSIC_3 = "com.example.notebook.action.music3";public static final String ACTION_MUSIC_4 = "com.example.notebook.action.music4";public static final String ACTION_MUSIC_5 = "com.example.notebook.action.music5";public static final String ACTION_MUSIC_6 = "com.example.notebook.action.music6";// TODO: Rename parameterspublic static final String EXTRA_PARAM1 = "com.example.notebook.extra.PARAM1";public static final String EXTRA_PARAM2 = "com.example.notebook.extra.PARAM2";// 声明MediaPlayer对象private static MediaPlayer mediaPlayer;public MyIntentService() {super("MyIntentService");}@Overrideprotected void onHandleIntent(Intent intent) {final String action = intent.getAction();if (intent != null) {if (ACTION_FOO.equals(action)) {final String param1 = intent.getStringExtra(EXTRA_PARAM1);final String param2 = intent.getStringExtra(EXTRA_PARAM2);handleActionFoo(param1, param2);} else if (ACTION_BAZ.equals(action)) {final String param1 = intent.getStringExtra(EXTRA_PARAM1);final String param2 = intent.getStringExtra(EXTRA_PARAM2);handleActionBaz(param1, param2);}// 根据intent设置的action来执行对应服务的操作if (ACTION_MUSIC_1.equals(action)){handleActionMusic1();}else if (ACTION_MUSIC_2.equals(action)){handleActionMusic2();}else if (ACTION_MUSIC_3.equals(action)){handleActionMusic3();}else if (ACTION_MUSIC_4.equals(action)){handleActionMusic4();}else if (ACTION_MUSIC_5.equals(action)){handleActionMusic5();}else if (ACTION_MUSIC_6.equals(action)){handleActionMusic6();}}}/*** 该服务执行的操作用来播放背景音乐*/private void handleActionMusic1() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.run);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic2() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.dream_wedding);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic3() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.be_quiet);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic4() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.girly_heart);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic5() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.sword_fairy);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic6() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.perfect_encounter);mediaPlayer.setLooping(true);mediaPlayer.start();}/*** Handle action Foo in the provided background thread with the provided* parameters.*/private void handleActionFoo(String param1, String param2) {// TODO: Handle action Foothrow new UnsupportedOperationException("Not yet implemented");}/*** Handle action Baz in the provided background thread with the provided* parameters.*/private void handleActionBaz(String param1, String param2) {// TODO: Handle action Bazthrow new UnsupportedOperationException("Not yet implemented");}
}

(3)EditActivity

public boolean onOptionsItemSelected(MenuItem item) {final String[] colors={"护眼色", "紫罗兰", "道奇蓝","碧绿色","热情粉","纯白色"};final String[] musics={"奔跑吧","梦中的婚礼","安静","少女的心","剑仙","完美的邂逅"};switch (item.getItemId()){case R.id.delete:new AlertDialog.Builder(EditActivity.this).setMessage("确定删除当前便签吗?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {if(openMode==4){intent.putExtra("mode",-1);  //新笔记,返回-1,什么也不做}else {intent.putExtra("mode",2);  //已经存在的笔记,用于返回操作intent.putExtra("id",id);}setResult(RESULT_OK,intent);finish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).create().show();break;case R.id.read:Drawable drawable = item.getIcon(); //图标颜色变换if(isRead){drawable.setColorFilter(null);  //消除上一级的改变drawable.setColorFilter(getResources().getColor(R.color.greyC), PorterDuff.Mode.SRC_IN);toast1.setText("您已进入编辑模式");toast2.show();editText.setFocusableInTouchMode(true);editText.setFocusable(true);isRead = false;}else{drawable.setColorFilter(null);drawable.setColorFilter(getResources().getColor(R.color.p), PorterDuff.Mode.SRC_IN);toast1.setText("您已进入阅读模式");toast1.show();InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);editText.setFocusableInTouchMode(false);editText.setFocusable(false);isRead = true;}break;case R.id.change:new AlertDialog.Builder(EditActivity.this).setTitle("选择一个背景色").setIcon(R.drawable.tomato).setItems(colors, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which){case 0:MainActivity.curId = 0;break;case 1:MainActivity.curId = 1;break;case 2:MainActivity.curId = 2;break;case 3:MainActivity.curId = 3;break;case 4:MainActivity.curId = 4;break;case 5:MainActivity.curId = 5;break;default:break;}getWindow().setBackgroundDrawableResource(curColor[MainActivity.curId]);}}).create().show();break;case R.id.music:new AlertDialog.Builder(EditActivity.this).setTitle("选择一个背景音乐").setIcon(R.drawable.music_collection).setItems(musics, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which){case 0:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_1 = MyIntentService.ACTION_MUSIC_1;// 设置actionintentMusic.setAction(action_1);startService(intentMusic);break;case 1:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_2 = MyIntentService.ACTION_MUSIC_2;// 设置actionintentMusic.setAction(action_2);startService(intentMusic);break;case 2:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_3 = MyIntentService.ACTION_MUSIC_3;// 设置actionintentMusic.setAction(action_3);startService(intentMusic);break;case 3:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_4 = MyIntentService.ACTION_MUSIC_4;// 设置actionintentMusic.setAction(action_4);startService(intentMusic);break;case 4:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_5 = MyIntentService.ACTION_MUSIC_5;// 设置actionintentMusic.setAction(action_5);startService(intentMusic);break;case 5:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_6 = MyIntentService.ACTION_MUSIC_6;// 设置actionintentMusic.setAction(action_6);startService(intentMusic);break;}}}).create().show();break;}return super.onOptionsItemSelected(item);}

三、演示

↑音乐播放按钮
↑音乐演示

作者:董媛媛
原文链接:https://blog.csdn.net/qq_45911965/article/details/121885529?spm=1001.2014.3001.5501

Android studio给备忘录添加背景音乐相关推荐

  1. amdroid studio给备忘录添加背景音乐

    (1)在project/app/src/main/res/raw目录下添加音乐(命名要是英文的) (2)在AndroidMainfest.xml中的代码 <serviceandroid:name ...

  2. 基于Android studio的备忘录app设计

    系统使用Android studio开发平台开发,使用sqlite数据库进行数据存储. 功能如下: 注册登录 管理备忘信息(增删查改) 根据备忘录创建时间快速查询 基于Android studio的备 ...

  3. Android Studio 三种添加插件的方式,androidstudio

    前几篇blog我们介绍了如何安装和配置Android Studio,这篇Blog我们来聊聊如何给Android Studio添加插件,添加插件的路径有三种,我把他们分类如下: 点击设置小按钮 点击[P ...

  4. android phpmyadmin,从android studio向phpmyadmin添加数据时出现问题

    我是安卓的初学者. 但是我在将android studio中的数据添加到phpMyAdmin时遇到了问题. 我找到了一个准备好的代码,但是由于某种原因,当我点击按钮时,应用程序崩溃了. 我认为问题出在 ...

  5. Android Studio中如何添加Vector Asset

    一.Vector Asset简介: Vector Asset中文名为矢量资源,在android studio中可以直接使用,当我们需要一些起导向作用的图片的时候,我们就可以直接调用Vector Ass ...

  6. bugly android studio,android studio 中怎么添加 bugly

    满意答案 akoylw 2017.02.20 采纳率:59%    等级:9 已帮助:63人 Module的buid.gradle文件中添加依赖和属性配置: android { defaultConf ...

  7. Android Studio工程中添加Admob广告条代码详解

    前言: 纵观国内的广告平台,比如多盟,万普,百度,腾讯,或者别的一些广告平台,真是应接不暇,但是具体接入那就自己判断了,经过一番折腾,最终还是选择了谷歌平台,理应是稳定,可靠,安全,收入颇高,但是登录 ...

  8. android studio jar 包添加 的 三种方法

    转载时请记得标明源地址:https://my.oschina.net/lijindou/blog/717000 本人博客地址:  http://my.oschina.net/lijindou/blog ...

  9. android studio annotations,AndroidStudio 添加AndroidAnnotations -电脑资料

    1.在project的gradle文件中dependencies { classpath 'com.android.tools.build:gradle:1.0.0' classpath 'com.n ...

最新文章

  1. Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to
  2. 2021春季学期-创新设计与实践-Lesson3
  3. jQuery弹出窗口浏览图片
  4. 宝塔同时安装苹果cms海洋cms_★苹果cms常见问题有哪些?100个常见问题的解决方法...
  5. 关于使用AIR开发移动APP 的技术解决方案 笔记
  6. 【机器视觉】 dev_show_tool算子
  7. 「2018山东一轮集训」Game
  8. huffman算法c语言实验报告,huffman二叉树实验报告--数据结构(c语言).doc
  9. php 模板 自己,php自己写了一个模板
  10. Visio 2013打开自动关闭,闪退的解决办法
  11. STK航空仿真(五):坐标系
  12. 使用Python脚本将酷狗音乐的缓存文件修改为可播放
  13. 解决WPS word论文英文摘要不对齐的问题
  14. [windows] win7建立wifi 实现网络共享
  15. 不能忘记陪我们长大的100部电影
  16. 【Linux】git提交三把斧
  17. Unity之新版输入系统InputSystem如何自定义InputActions
  18. Java应用系列之Pinyin4j简单使用教程
  19. 如何解决:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
  20. 平衡二叉树(Java)

热门文章

  1. linux安装wl工具,【驱动】博通wl驱动的三种安装方法
  2. Unity3d C#实现程序的加密狗验证功能(PC)
  3. 何时使用领域驱动设计(DDD)
  4. pytorch中x.norm(p=2,dim=1,keepdim=True)的理解
  5. Android双系统之基本问题研究
  6. FFmpeg封装ADTS为MP4
  7. 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/06/28
  8. 中国数学的先行者—孙光远先生
  9. 编程语言只是一个工具
  10. IE6调试JS_se7en3_新浪博客