2

プログラムでiPhoneの着信音量を下げたいのですが、 でできることをAVSystemController知りましたが、それは私的な方法です。私がそれを使用する場合、アップルはアプリを拒否しますか、それとも別の方法を提案してください

4

5 に答える 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 に答える
0

はい、可能です。アップルはそれを拒否します。これを行う方法を説明するリンクは次のとおりです。[ link2

アップデート:

[[MPMusicPlayerController applicationMusicPlayer] setVolume:setvalue];

これらのリンク リンクも確認してください。呼び出し音の音量をプログラムで変更することはできません。

于 2014-01-16T09:04:19.503 に答える
-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 に答える