如何同时播放两种声音?

时间:2017-08-29 18:13:21

标签: android audio dart flutter

我最近一直在尝试一些有声音的东西。使用audioPlayer插件。

但我正面临一堵墙。我有背景音乐和小声音效果。 问题是我不能同时玩这两个。如果我播放背景音乐,则无法播放声音效果。反之亦然。

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:3)

这是audioplayer插件的问题,并且issue已经打开了{{3}}。作者表示,如果您愿意采取措施,他可以提出请求。

答案 1 :(得分:0)

使用媒体播放器。使用此代码设置背景音乐:

MediaPlayer backgroundMediaPlayer = MediaPlayer.create(getApplicationContext(), Uri.parse(PATH_TO_BACKGROUND_MUSIC));
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.start();
    }
});

然后用背景音乐路径替换PATH_TO_BACKGROUND_MUSIC。

然后,当您希望发生声音效果时,请使用以下代码:

MediaPlayer soundEffectMediaPlayer = MediaPlayer.create(getApplicationContext(), Uri.parse(PATH_TO_SOUND_EFFECT));
    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {
            mediaPlayer.start();
        }
    });

然后用背景音乐路径替换PATH_TO_SOUND_EFFECT。

您可以了解媒体播放器here

希望这有帮助!