某些手机​​的声音很早就被切断了

时间:2010-09-06 16:17:05

标签: android audio

我是Soundboard应用程序的开发者。许多用户报告说,在他们的手机中,一些声音提前被切断了。我有一个Nexus One和一个HTC Tattoo,一切正常,我从来没有注意到手机的切断。

这是我的音频部分代码:

首先,我的主类中有一个MediaPlayer对象:

private MediaPlayer mp = null;

当我按下按钮时,这就是代码:

    private OnClickListener onClickSound = new OnClickListener() {

    public void onClick(View v) {
        if(mp != null){
            mp.stop();
            mp.release();
            mp = null;
        }

        mp = MediaPlayer.create(getBaseContext(), mp3id));
        mp.start();
        mp.setOnCompletionListener(completionListener);
    }
};

这是completionListener:

    MediaPlayer.OnCompletionListener completionListener = new MediaPlayer.OnCompletionListener(){

    public void onCompletion(MediaPlayer mediaP) {
        if(mp != null && !mp.isPlaying()){
            mp.stop();
            mp.release();
            mp = null;
        }
    }

};

你们有什么线索吗?

问候

1 个答案:

答案 0 :(得分:2)

在播放器加载所有媒体之前,您正在开始播放。使用setOnPreparedListener仅在玩家准备就绪后启动。