【发布时间】: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.1f 或 0.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