• 在Android开发中遇到的MediaPlayer问题


    最近我在为我女朋友写一款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()有区别就是这两者的区别,一个是停止一个暂停,而我们在这个程序中需要的是暂停。


  • 相关阅读:
    Linux Shell的18条常用命令整理
    git branch 命令查看分支、删除远程分支、本地分支
    比Xshel更好用的 FinalShell
    Centos7的目录结构
    准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
    代码托管仓库之码云
    包管理工具之Pipenv
    Python的垃圾回收机制
    Django之Models操作
    Python操作数据库实战
  • 原文地址:https://www.cnblogs.com/fengju/p/6336171.html
Copyright © 2020-2023  润新知