【问题标题】:Android SoundPool problem on some devices某些设备上的 Android SoundPool 问题
【发布时间】:2021-03-14 13:51:21
【问题描述】:

大家,我正在尝试制作一个简单的钢琴应用程序,对于每个音符,我都有一个 .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;

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

【问题讨论】:

    标签: android noise soundpool xiaomi asus


    【解决方案1】:

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

    Android can't play some wav file with soundpool?

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

    经过一番搜索,我找到了这个link,其中使用了 CONTENT_TYPE_SONIFICATION 而不是 CONTENT_TYPE_MUSIC,我相信它可能更适合您的需求。

    CONTENT_TYPE_SONIFICATION

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

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

    【讨论】:

    • 将文件从WAV转换为MP3解决问题!
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多