iphone下来电实现铃声静音

做ios开发的人,看到这个标题就知道肯定要用到private API了。 微笑


 

AVSystemController *av = [AVSystemController sharedAVSystemController];

[av setVolumeTo:0.0 forCategory:@"Ringtone"];


很简单,就两句话,我试了一下虽然setVolumeTo到0了,但是声音却是只小到了一格,还是有很小很小的声音,不过起码也算静音啦。


要用的framework是:Celestial.framework

header如果不是ios6的请自己class-dump一下。

我贴一下ios6下的header:

 

@interface AVSystemController : NSObject

{

    structAVSystemControllerPrivate *_priv;

}


+ (id)sharedAVSystemController;

+ (void)initialize;

- (void)postEffectiveVolumeNotification:(void *)arg1;

- (void)postFullMuteDidChangeNotification:(void *)arg1;

- (void)handleServerDied;

- (BOOL)okToNotifyFromThisThread;

- (void)makeError:(id *)arg1 withDescription:(id)arg2 code:(long)arg3;

- (BOOL)setAttribute:(id)arg1 forKey:(id)arg2 error:(id *)arg3;

- (id)attributeForKey:(id)arg1;

- (BOOL)allowUserToExceedEUVolumeLimit;

- (BOOL)currentRouteHasVolumeControl;

- (id)pickableRoutesForCategory:(id)arg1;

- (id)volumeCategoryForAudioCategory:(id)arg1;

- (id)routeForCategory:(id)arg1;

- (BOOL)getVolume:(float *)arg1 forCategory:(id)arg2;

- (BOOL)enablePortDiscovery:(BOOL)arg1;

- (BOOL)getPortDiscoveryEnabled;

- (BOOL)setPickedRouteWithPassword:(id)arg1 withPassword:(id)arg2;

- (BOOL)setVolumeTo:(float)arg1 forCategory:(id)arg2;

- (BOOL)changeVolumeBy:(float)arg1 forCategory:(id)arg2;

- (BOOL)getActiveCategoryMuted:(char *)arg1 forRoute:(id)arg2 andDeviceIdentifier:(id)arg3;

- (BOOL)getActiveCategoryMuted:(char *)arg1;

- (BOOL)toggleActiveCategoryMutedForRoute:(id)arg1 andDeviceIdentifier:(id)arg2;

- (BOOL)toggleActiveCategoryMuted;

- (BOOL)getActiveCategoryVolume:(float *)arg1 andName:(id *)arg2 forRoute:(id)arg3 andDeviceIdentifier:(id)arg4;

- (BOOL)setActiveCategoryVolumeTo:(float)arg1 forRoute:(id)arg2 andDeviceIdentifier:(id)arg3;

- (BOOL)changeActiveCategoryVolumeBy:(float)arg1 forRoute:(id)arg2 andDeviceIdentifier:(id)arg3;

- (BOOL)getActiveCategoryVolume:(float *)arg1 andName:(id *)arg2;

- (BOOL)getActiveCategoryVolume:(float *)arg1 andName:(id *)arg2 fallbackCategory:(id)arg3;

- (BOOL)setActiveCategoryVolumeTo:(float)arg1;

- (BOOL)setActiveCategoryVolumeTo:(float)arg1 fallbackCategory:(id)arg2 resultVolume:(float *)arg3 affectedCategory:(id *)arg4;

- (BOOL)changeActiveCategoryVolumeBy:(float)arg1;

- (BOOL)changeActiveCategoryVolumeBy:(float)arg1 fallbackCategory:(id)arg2 resultVolume:(float *)arg3 affectedCategory:(id *)arg4;

- (void)dealloc;

- (id)init;


@end



posted @ 2013-04-03 15:34  坚固66  阅读(447)  评论(0编辑  收藏  举报