0

大家,我正在尝试制作一个简单的钢琴应用程序,对于每个音符,我都有一个 .wav 文件,并且我正在使用 soundpool 类来让它播放。

在几台小米设备和华硕 zenfone 上,我只能听到一种白噪声,这很烦人,尽管我很努力,但我在网上找不到任何解决方案,请帮帮我!!))

这里我在类范围内声明 aAttributes 和 soundPool 对象:

private SoundPool soundPool;
private AudioAttributes aAttributes;
volumeNote = 1.0f;
volumeFeedBack = 0.6f;

这里是 onCreate 方法的代码:

aAttributes = new AudioAttributes.Builder()
                .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
                .setUsage(AudioAttributes.USAGE_GAME)
                .build();
soundPool = new SoundPool.Builder()
                .setMaxStreams(10)
                .setAudioAttributes(aAttributes)
                .build();

这里是 onClick 方法的代码示例:

case R.id.btFaLow:
                    soundPool.play(faL,volumeNote,volumeNote,0,0,1);
                    break;

我希望这些信息可以帮助找到问题。谢谢大家!

4

2 回答 2

0

下面的链接有一些实用的建议。

Android 不能用 soundpool 播放一些 wav 文件?

就个人而言,我使用 Soundpool 和 .mp3 文件,没有白噪声问题。

经过一番搜索,我发现这个链接使用了 CONTENT_TYPE_SONIFICATION 而不是 CONTENT_TYPE_MUSIC,我相信它可能更适合您正在寻找的内容。

CONTENT_TYPE_SONIFICATION

当内容类型是用于伴随用户操作的声音时使用的内容类型值,例如表示按键点击或事件的哔声或声音效果,例如游戏中收到奖金的声音类型。

您还可以在流式编码中查看代码示例: https ://codinginflow.com/tutorials/android/soundpool (我与该站点无关。)

于 2020-12-02T16:12:46.213 回答
0

FWIW,在小米红米 6 上遇到了同样的问题,@Peppinhood 的使用建议.mp3成功了

出于某种原因,两者都在该设备.m4a.wav产生了严重失真的声音。

于 2021-10-05T09:14:21.880 回答