zoukankan      html  css  js  c++  java
  • 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



  • 相关阅读:
    【十五分钟Talkshow】fmplan(十五分钟计划)的初步想法
    #ifdef,#ifndef,#define,#endif解析
    mass Framework menu插件
    软件随想
    gwt+smartgwt framework网站开发
    .NET异步
    CentOS6
    【十五分钟Talkshow】谈谈HTML 5及其对Web开发人员的挑战和机遇
    MongoDB源码概述——日志
    TWaver在FTTX设备网管系统中的应用
  • 原文地址:https://www.cnblogs.com/jiangu66/p/2998039.html
Copyright © 2011-2022 走看看