我想以编程方式降低 iPhone 的铃声音量,我知道可以使用AVSystemController
,但我知道,这是一种私有方法。如果我使用它,苹果会拒绝该应用程序还是请建议我另一种方式
问问题
2273 次
5 回答
4
- (void) setSystemVolumeLevelTo:(float)newVolumeLevel
{
Class avSystemControllerClass = NSClassFromString(@"AVSystemController");
id avSystemControllerInstance = [avSystemControllerClass performSelector:@selector(sharedAVSystemController)];
NSString *soundCategory = @"Ringtone";
NSInvocation *volumeInvocation = [NSInvocation invocationWithMethodSignature:
[avSystemControllerClass instanceMethodSignatureForSelector:
@selector(setVolumeTo:forCategory:)]];
[volumeInvocation setTarget:avSystemControllerInstance];
[volumeInvocation setSelector:@selector(setVolumeTo:forCategory:)];
[volumeInvocation setArgument:&newVolumeLevel atIndex:2];
[volumeInvocation setArgument:&soundCategory atIndex:3];
[volumeInvocation invoke];
}
于 2014-05-01T08:33:56.333 回答
0
使用任何一种私有方法都会导致 Apple 拒绝您的应用程序。由于公共 iOS SDK 不允许您更改铃声音量,因此您将无法从您的应用程序中进行此操作。
于 2014-01-16T08:58:22.350 回答
-1
你可以使用 AVAudioPlayer 和 MPVolumeView 来管理价值也请参考这个链接: 如何为 iPhone 实现音量键快门?
于 2014-01-16T09:02:53.877 回答
-2
试试这个代码
float value = 0.5;//this should be between 0.0 to 1.0
[[MPMusicPlayerController applicationMusicPlayer] setVolume: value];
于 2014-01-16T08:59:15.033 回答