博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Android开发中遇到的MediaPlayer问题
阅读量:4577 次
发布时间:2019-06-08

本文共 1080 字,大约阅读时间需要 3 分钟。

最近我在为我女朋友写一款Android的小App,里面我想用一个背景音乐来调节一下氛围,提高程序的友好度。后来我在网上查了一下,是要在assets文件夹下或是res/raw文件夹下添加音频文件。文件若是放在assets文件夹中的,是不在R.java文件中自动生成资源索引。而在res/raw文件夹下添加音频文件,是会在R.java中自动生成资源索引项。不过,能够生成资源索引的前提是我们的这个音频文件名必须是由'a'-'z'或是'0'-'9'这些字符组成,就连大写也不可以,我就是被这个大小写弄得伤了心。

当我们的资源文件准备好了之后,接下来的就是如果使用了。

下面是一个最简单的,一个空白的什么都没有的activity的背景音乐

public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                MediaPlayer mediaplayer = MediaPlayer.create(this,R.raw.kisstherain);        mediaplayer.setLooping(true);        mediaplayer.start();    }
而且背景音乐是循环播放的,因为mediaplayer.setLooping(true);这一句

我们还可以是别的什么方法来实现,例如下面的这个方法。与上面的这个方法不同的是,我下面的这个方法操作的

背景音乐的播放只有一次,没有循环。下面的这几行代码都很简单,就不一一说明了。

MediaPlayer m_PlayMid;m_PlayMid = MediaPlayer.create(this, R.raw.kisstherain);m_PlayMid.start();
当然,如果我们想要暂停播放,就可以用一句代码来搞定:

m_PlayMid.pause();
可能很多会想,为什么不是m_PlayMid.stop()而是m_PlayMid.pause()。不知道大家能对activity的生命周期还有没有印象,activity的生命周期中onPause()和onStop()有区别就是这两者的区别,一个是停止一个暂停,而我们在这个程序中需要的是暂停。

转载于:https://www.cnblogs.com/fengju/p/6336171.html

你可能感兴趣的文章
UVA10559&POJ1390 Blocks 区间DP
查看>>
《Linux内核》读书笔记 第十八章
查看>>
【AS3代码】擦窗户效果(也就是流行的妄撮游戏)
查看>>
[bzoj 3289] Mato的文件管理
查看>>
ajax+jQuery实现一个页面同时加载多个模块!
查看>>
霜风挂长天 英雄自横行 狂饮仇敌项上血 笑傲江湖传奇巅
查看>>
bzoj 2151: 种树【贪心+堆】
查看>>
bzoj 4541: [Hnoi2016]矿区【平面图转对偶图+生成树】
查看>>
Algorithm Gossip(5) 老鼠找迷宫(1)
查看>>
环形进度条
查看>>
MySql8.0数据库链接报错The driver has not received any packets from the server
查看>>
Ubuntu链接ubuntu服务器
查看>>
验证工具类 - ValidateUtils.java
查看>>
kali-linux简单学习(二)
查看>>
vue.js组件之j间的通讯二
查看>>
jenkins在windows系统下部署安装,使用
查看>>
【javascript基础】1、基本概念
查看>>
由于找不到 MSVCR100.dll,无法继续执行代码
查看>>
.net 索引器
查看>>
python 3.6 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte错误
查看>>