0

メディア プレーヤーを使用して mp3 ファイルを実行しようとしています。コンパイルは正常に行われますが、mp3 ファイルが再生されません。isPlaying() をチェックしても、false が返されます。それの何が問題なのか教えてください。これはコードです:

package com.example.soundplayer;

import java.io.IOException;

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

public class MainActivity extends Activity {

    /**
     * Variables
     */
    MediaPlayer mp = null;
    String hello = "Hello!";
    String goodbye = "GoodBye!";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /**
         * Talking with the buttonHello
         */
        final Button buttonHello = (Button) findViewById(R.id.idHello);
        buttonHello.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                managerOfSound(hello);
            } // END onClick()
        }); // END buttonHello
    }     
    /**
     * Manager of Sounds
     */
    protected void managerOfSound(String theText) {
        mp = MediaPlayer.create(MainActivity.this, R.raw.sound);
        mp = new MediaPlayer();
        if (theText.equals(hello))
        {
            MediaPlayer.create(this, R.raw.sound);
            mp.setVolume(1.0F, 1.0F);
            mp.reset();
            try {
                mp.prepare();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if (mp != null) {
                mp.start();
            }
            if(mp.isPlaying()== true){
                Toast.makeText(this, "mp is playing ", Toast.LENGTH_LONG).show();}
        }
    }
}
4

1 に答える 1

1

以下のコードを試してください

protected void managerOfSound(String theText) {
    mp = MediaPlayer.create(MainActivity.this, R.raw.sound);
    mp.setVolume(1.0F, 1.0F);
    if (theText.equals(hello))
    {            
        if (mp != null) {
            mp.start();
        }
        if(mp.isPlaying()== true){
            Toast.makeText(this, "mp is playing ", Toast.LENGTH_LONG).show();}
    }
}
于 2012-08-22T09:17:04.733 に答える