gpt4 book ai didi

iphone - 覆盖 iPhone 应用程序中的铃声音量

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:58 26 4
gpt4 key购买 nike

我构建了一个可以轻松播放大量声音的应用:

AudioServicesPlaySystemSound(someSoundID);

当我使用设备音量按钮增大或减小音量时,我实际改变的音量是手机的铃声音量。因此,如果您减少它并退出应用程序,那么您的手机将安静地响起...

有没有一种简单的方法可以覆盖它并实际更改我的应用程序的音量?

最佳答案

我已经找到了我认为是常见问题的解决方案。所以这就是您的应用如何拥有自己的音量,并且不会干扰用户的铃声音量,即使您只播放系统声音也是如此。

您必须导入 AVFoundation 框架,并且在您的应用程序运行(或 View 或应用程序委托(delegate))的整个过程中保持加载的对象中,您已经初始化了一个 AVAudioPlayer,给它一个要播放的文件并将其设置为“prepareToPlay “它……

这是我在主视图中所做的(用于将其他 View 加载为 subview ):在头文件中:

#import <AVFoundation/AVFoundation.h>

@interface MainViewController : UIViewController {
AVAudioPlayer *volumeOverridePlayer;
}

@property (nonatomic, retain) AVAudioPlayer *volumeOverridePlayer;

在实现文件中:

    @synthesize volumeOverridePlayer;

- (void)viewDidLoad
{
[super viewDidLoad];

volumeOverridePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"something" ofType:@"caf"]] error:nil];
[volumeOverridePlayer prepareToPlay];
//...
}

让播放器准备好播放您的文件并享受您自己的音量控制,而无需通过它播放声音!当然,记得在 dealloc 中释放它。

关于iphone - 覆盖 iPhone 应用程序中的铃声音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com