音乐不在按钮上播放点击

音乐不在按钮上播放点击

问题描述:

找不到问题在哪里。请帮助纠正。如果按下第一个按钮,音乐将开始播放,如果他在第一首音乐结束之前点击第二个按钮,第二首音乐将在停止第一首音乐后开始播放。音乐不在按钮上播放点击

package com.example.buttonsonic; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 


public class MainActivity extends Activity { 

    private MediaPlayer mp; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final MediaPlayer mp = new MediaPlayer(); 

    } 
    public void button1 (View v){ 
     Button button1 = (Button)findViewById(R.id.button1); 
     mp.release(); 
     mp = MediaPlayer.create(this, R.raw.muzika); 
     mp.start(); 
    } 

    public void button2 (View v){ 
     Button button2 = (Button)findViewById(R.id.button2); 
     mp.release(); 
     mp = MediaPlayer.create(this, R.raw.muzikb); 
     mp.start(); 
    } 

    @Override 
    public void onDestroy() { 
     mp.release(); 
    } 

} 
+0

你能重新框架你的问题吗? – Jickson 2014-11-02 18:39:31

+0

当然。其实我试图创建一个程序,其中有两个按钮,如果我按下第一个按钮,应播放一段音乐,如果按下第二个按钮,第二段音乐将开始播放,但第一段音乐会停下来,反之亦然。但我点击了按钮,但没有播放音乐。我想知道问题出在哪里。请帮忙。 – 2014-11-03 14:25:19

Hi修改了一下你的源代码。现在它为我工作。

活动来源:

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 

public class MainActivity extends Activity { 

private MediaPlayer mp; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    // final MediaPlayer mp = new MediaPlayer(); 
    mp = new MediaPlayer(); 
} 

public void button1(View v) { 
    // Button button1 = (Button)findViewById(R.id.button1); 
    mp.release(); 
    mp = MediaPlayer.create(this, R.raw.muzika); 
    mp.start(); 
} 

public void button2(View v) { 
    // Button button2 = (Button)findViewById(R.id.button2); 
    mp.release(); 
    mp = MediaPlayer.create(this, R.raw.muzikb); 
    mp.start(); 
} 

@Override 
public void onDestroy() { 
    mp.release(); 
} 

} 

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
android:orientation="vertical" 
tools:context=".MainActivity" > 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="button1" 
    android:text="Music 1" /> 

<Button 
    android:id="@+id/button2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="button2" 
    android:text="Music 2" /> 

</LinearLayout> 

让我知道如果我错过了什么。

+0

非常感谢您的善意帮助。我会尝试在我的电脑上,让你知道。再次感谢您节省宝贵的时间。 – 2014-11-09 12:26:35

+0

欢迎你的朋友:) – Jickson 2014-11-10 03:27:23

+0

总之,我要宣布你很棒。作为新手,我尽力而为,但失败了;你简单的方法使它成功!我真的很感激你。它成功运行了好几次,它显示出你的代码无可挑剔。但是,在完美运行几次之后,该项目开始崩溃,可能是由于与模拟器有关的一些错误。显示控制台:安装错误:INSTALL_FAILED_INSUFFICIENT_STORAGE。向Manifest添加了android:installLocation =“preferExternal”,但没有任何更改。我现在应该怎么做? – 2014-11-10 13:59:29