zoukankan      html  css  js  c++  java
  • 在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()有区别就是这两者的区别,一个是停止一个暂停,而我们在这个程序中需要的是暂停。


  • 相关阅读:
    LeetCode "Jump Game"
    LeetCode "Pow(x,n)"
    LeetCode "Reverse Linked List II"
    LeetCode "Unique Binary Search Trees II"
    LeetCode "Combination Sum II"
    LeetCode "Divide Two Integers"
    LeetCode "First Missing Positive"
    LeetCode "Clone Graph"
    LeetCode "Decode Ways"
    LeetCode "Combinations"
  • 原文地址:https://www.cnblogs.com/fengju/p/6336171.html
Copyright © 2011-2022 走看看