如何播放声音5秒钟

时间:2012-08-16 12:43:08

标签: android

我想播放声音5秒,但我正在使用的代码无限播放声音。

我的代码是

final MediaPlayer player = new MediaPlayer();
AssetFileDescriptor afd = this.getResources().openRawResourceFd(R.raw.hangout_ringtone);
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.setLooping(true);
player.prepare();

3 个答案:

答案 0 :(得分:2)

尝试从代码中删除此行

player.setLooping(true);

答案 1 :(得分:2)

使用延迟的Runnable来停止音频。

postDelayed(new Runnable() {
    public void run() {
        //Code to stop your sound
    }
}, 5000);

答案 2 :(得分:1)

创建一个新的处理程序以发布何时停止的延迟。

            mMediaPlayer.start();
            // wait 5 sec... then stop the player.
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    mMediaPlayer.stop();
                }
            }, 5000);//millisec.