Media Player仅在调试模式下工作

时间:2015-11-16 09:58:53

标签: android

我正在使用MediaPlayer播放.WAV格式的音频文件。当我调试应用程序时,我能够播放文件但是当我运行应用程序文件时没有播放。

关于此问题有similar issue但未提供解决方案。

以下是我正在使用的代码

MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(mContext, fileUri);// uri of the audio file
mMediaPlayer.prepare();
mMediaPlayer.setOnCompletionListener(this);    
mMediaPlayer.start();// to start the playback of the audio file

此代码仅在调试模式下有效,但在正常模式下无效。

由于

1 个答案:

答案 0 :(得分:0)

这就是我所说的:

btn_next.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

        try {
            mp.reset();
            mp.setDataSource(url.toString());
            mp.setOnErrorListener(this);
            mp.setOnPreparedListener(this);
            mp.setOnCompletionListener(this);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (SecurityException e) {
            Log.e(TAG, "SecurityException");
        } catch (IllegalStateException e) {
            Log.e(TAG, "IllegalStateException");
        } catch (IOException e) {
            Log.e(TAG, "IOException");
        }
        mp.prepareAsync();
    }
});

现在,override方法onPrepared()

@Override
public void onPrepared(MediaPlayer mp) {
    // TODO Auto-generated method stub
    mp.start();
}

如果你在这方面遇到任何问题,请在下方评论。