1

Android プロジェクトの raw フォルダーにオーディオ ファイルがいくつかあります。これらのオーディオ ファイルを Android のデフォルトのミュージック プレーヤーで再生したいと考えています。手順を説明するために、誰かがサンプル コード スニペットを共有できますか。

4

5 に答える 5

1
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);

Uri data = Uri.parse("file://"+Environment.getExternalStorageDirectory()
        .getAbsolutePath()+"/" + fileName);
String type = "audio/mp3";
intent.setDataAndType(data, type);
startActivity(intent);

fileNameのオーディオの名前ですSDCard

于 2013-01-19T09:00:41.543 に答える
1

最初にオブジェクトを宣言しMediaPlayerます:

MediaPlayer mSoundPlayer;

この関数を追加します:

//Play music
    public void playSound(int id){
            try{
                mSoundPlayer = MediaPlayer.create(mContext, id);
                mSoundPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                    @Override
                    public void onPrepared(MediaPlayer arg0) {
                        mSoundPlayer.start();

                    }

                });
                mSoundPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener () {

                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        // TODO Auto-generated method stub
                        mSoundPlayer.release();
                    }});
            }
            catch (Exception e) {
                // TODO: handle exception
                Log.v("Sound Exception","Sound Exception = "+e.getMessage());
            }
    }

これで呼び出します:

playSound(R.raw.sound1);

リリースすることをお勧めしMediaPlayerます:

    @Override
    public void onPause(){
        super.onPause();
        if(mSoundPlayer!=null)
            mSoundPlayer.release();
    }

ありがとう。

于 2013-01-19T09:07:14.147 に答える
1

私はこのコードを試しました:-

button.setOnClickListener(new OnClickListener() 
{

@Override
public void onClick(View v) 
{
Uri uri = Uri.parse("R.raw.fashion.mp3");//the audio file
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent); 

}
});

しかし、このコードを実行すると; アプリがクラッシュし、LogCat に次のように表示されます。「ActivityNotFoundException」...インテントを処理するアクティビティが見つかりません。

于 2013-01-19T13:54:02.963 に答える
1

これがサンプルコードスニペットです...

Androidでオーディオファイルを再生する場合

オーディオの再生

public void splashPlayer() {
 VideoView videoHolder = new VideoView(this);
 setContentView(videoHolder);
 Uri video = Uri.parse("android.resource://" + getPackageName() + "/"
    + R.raw.splash);
 videoHolder.setVideoURI(video);
 videoHolder.setOnCompletionListener(new OnCompletionListener() {
  public void onCompletion(MediaPlayer mp) {
   jumpMain(); //jump to the next Activity
  }
 });
 videoHolder.start();
}

完全なチュートリアルについては、これを参照してください

于 2013-01-19T09:13:06.733 に答える
-1

これを試してみてください。

Uri data = Uri.parse("file://"+Environment.getExternalStorageDirectory()
                .getAbsolutePath()+"/" + audioName);
        Intent intent = new Intent(android.content.Intent.ACTION_VIEW, data);

        String type = "audio/mp3";
        intent.setDataAndType(data, type);
        startActivity(intent);
于 2013-03-28T07:03:23.910 に答える