2014-11-02 2 views
0

어떤 종류의 문제가 있는지 알 수 없습니다. 교정 해주십시오. 첫 번째 버튼을 누르면 음악이 시작되고 첫 번째 곡이 끝나기 전에 두 번째 버튼을 클릭하면 첫 번째 곡을 멈추고 두 번째 음악이 시작됩니다.음악 재생 중 버튼 클릭

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

+0

예. 실제로 두 개의 버튼이있는 프로그램을 만들려고했는데 첫 번째 버튼을 누르면 음악이 재생되고 두 번째 버튼을 누르면 두 번째 음악이 재생되지만 첫 번째 음악은 재생됩니다. 그 반대의 경우도 마찬가지입니다. 버튼을 클릭했지만 음악이 재생되지 않았습니다. 문제가있는 곳이 궁금합니다. 도와주세요. –

답변

0

안녕하세요. 소스 코드를 조금 수정하십시오. 이제는 저를 위해 일하고 있습니다.

활동 자료 :

<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> 

내가 놓친 경우 알려주세요

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.

+0

친절한 도움을 많이 주셔서 감사합니다. 내 컴퓨터에서 해보고 알려 드리겠습니다. 소중한 시간을 절약 해 주셔서 다시 한번 감사드립니다. –

+0

당신은 오신 것을 환영합니다 :) – Jickson

+0

간단히 말해서, 나는 당신이 훌륭하다는 것을 선언해야합니다. 초보자이기 때문에 최선을 다했지만 실패했습니다. 당신의 간단한 접근 방식으로 성공하게되었습니다! 나는 너에게 정말로 감사한다. 그것은 성공적으로 여러 번 실행되었으며 코드가 완벽 함을 보여줍니다. 그러나 완벽하게 여러 번 실행 한 후에는 에뮬레이터 관련 오류로 인해 프로젝트가 중단되기 시작했습니다. 표시되는 콘솔 : 설치 오류 : INSTALL_FAILED_INSUFFICIENT_STORAGE. android : installLocation = "preferExternal"을 매니페스트에 추가했지만 전혀 변경되지 않았습니다. 지금 어떻게해야합니까? –