【问题标题】:Lower volume of AVAudioPlayer sound降低 AVAudioPlayer 声音的音量
【发布时间】:2015-05-06 17:34:39
【问题描述】:

我有一首背景歌曲,我在使用我的应用程序时无限循环使用它。 除了声音/音量太高...我希望它以一半的音量播放...这就是我加载音乐的方式:

//background music for in-game loop
backgroundLoop = [[NSBundle mainBundle] pathForResource:@"Background" ofType:@"wav"];
GameMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:backgroundLoop] error:NULL];
GameMusic.delegate = self;          //need <...> in .h
GameMusic.numberOfLoops = -1;       //play infinite loop

我尝试了一些方法,但都没有影响曲目的音量。我试过这个:

GameMusic.volume = 0.5f;

和:

[GameMusic setVolume: 0.5f];

但它不会改变音量并且仍然以相同的最大音量播放...

奇怪的是,如果我将音量设置为 0.0 ([GameMusic setVolume: 0.5f];),它根本不会播放,因为我猜它会将音量设置为零......但为什么 0.1f0.5f 0-1线性比例时不调节音量?

如何降低音量?声音太大了。

另外,我尝试在 Garageband 中编辑实际声音,但它们不会在一秒钟内导出任何声音,因此手动调整它们是不可行的。

谢谢。

更新

A Wiki,表示支持以下文件格式:

- AAC (MPEG-4 Advanced Audio Coding) - ALAC (Apple Lossless) - AMR (Adaptive Multi-rate) - HE-AAC (MPEG-4 High Efficiency AAC) - iLBC (internet Low Bit Rate Codec) - Linear PCM (uncompressed, linear pulse code modulation) - MP3 (MPEG-1 audio layer 3) - µ-law and a-law

不幸的是,我将.wav 更改为.mp3,但它仍然无法正常工作:(

【问题讨论】:

  • “当它是线性刻度时”如果我是你,我不会假设。分贝是对数...
  • 这就是 Apple 文档在 AVAudioPlayer 类中的说明,所以我同意了。
  • 嗯,我明白你的意思了。我想知道他们的意思是什么?不过,既然您说原版“太大声”,我建议您尝试一些较小的值,例如0.05f,看看是否有帮助。只是一个疯狂的想法......
  • 好的,谢谢,我会试一试。
  • 酷!我会给出这个答案。

标签: ios cocoa audio avaudioplayer


【解决方案1】:

我怀疑它正在工作,但是因为声音一开始就很大,所以您没有感觉到差异(因为强度分贝标度的对数性质)。尝试一个更小的数字,例如0.05,也许。

【讨论】:

    【解决方案2】:

    它终于起作用了。通过使用较低的线性值(例如0.01f0.08f)来调整音量。

    我将文件类型更改为mp3,因为不支持wav

        backgroundLoop = [[NSBundle mainBundle] pathForResource:@"Background" ofType:@"mp3"];
    

    然后设置加载音频的音量:

        GameMusic.volume = 0.01f
    

    0.01f 将音量减半(大约在我耳边),但可能会有所不同,具体取决于使用的音轨、是否标准化或编码的文件格式。

    我希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      我在使用这种语法的 Swift 3.0 中遇到了错误。我通过反复试验解决了它。使用以下方法调整音量:

      nameOfFile.volume = 1.0

      去掉“f”。任何高于 1.0 的都会增加音量,低于 1.0 会降低。希望这可以帮助。干杯。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-22
        • 2011-08-23
        • 1970-01-01
        • 2015-06-19
        • 1970-01-01
        • 2013-12-25
        • 1970-01-01
        • 2019-07-04
        相关资源
        最近更新 更多