ios开发 静音键设置_iOS开发,改变系统铃声音量和静音,并非媒体播放音量
它可以讓iPhone手機靜音。但是,AVSystemController存在于私有Celestial框架中。由于UIKit引用了這個框架,因此仍然可以在不直接引用它的情況下使用該類。
Apple禁止使用私有API,因此僅此一點就是個壞主意。鑒于此情況,可能會放棄這個想法,因為我認為它沒有解決我的問題。它確實使聲音靜音,但是當我插入我的配件時,即使振鈴音量設置為0,系統也會以最大音量發出聲音。這讓我相信解決問題的答案就在于MFI文件。 無論如何,這里是如何使用私有框架/api更改鈴聲(這將使你的應用程序在沒有某種特殊許可的情況下被拒絕)。下面是讓系統鈴聲音量改變(靜音)的方法:
方法一:
[[AVSystemController sharedAVSystemController] setVolumeTo:0 forCategory:@"Ringtone"];
方法二:
無需直接引用Celestial frameork / AVSystemController.h :
- (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];
}
總結
以上是生活随笔為你收集整理的ios开发 静音键设置_iOS开发,改变系统铃声音量和静音,并非媒体播放音量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu镜像添加jdk_Ubuntu
- 下一篇: 取消管理员取得所有权_win7管理员取得