android:mediaplayer.create()返回null

问题描述 投票:2回答:2

我试图让用户打开一个音频文件并播放这个文件。然而,MediaPlayer.create()方法返回null。这是我的代码:

MediaPlayer mediaPlayer;

public void start(View v) {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("audio/*");
    startActivityForResult(intent,1);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK) {
        Uri uri = data.getData();
        mediaPlayer = MediaPlayer.create(this,uri);
        //startThread();
        mediaPlayer.start();
    } else {
        mediaPlayer.start();
    }
}

我尝试使用mp3文件,我的设备与其他玩家一起玩没问题。 Uri我看起来像这个"content://media/external/audio/media/137650"我做错了什么?

android android-mediaplayer
2个回答
1
投票

一旦错误无法创建媒体,这发生在我身上,导致错误文件的文件是.wav,当我使用.mp3错误消失了


0
投票

尝试使用以下代码:

MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(getApplicationContext(), uri);
mPlayer.prepare();
mPlayer.start();
© www.soinside.com 2019 - 2024. All rights reserved.