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



  • 相关阅读:
    Atitit 教育与培训学校 的计划策划 v4 qc18
    Atitit 设计模式的本质思考】
    Atitit.软件开发的几大规则,法则,与原则Principle v3
    Atitit 深入理解抽象类与接口 attilax总结
    titit. 深入理解 内聚( Cohesion)原理and  attilax大总结
    轻量级web富文本框——wangEditor使用手册(1)——基本应用
    重构wangEditor(web富文本编辑器),欢迎指正!
    js便签笔记(14)——用nodejs搭建最简单、轻量化的http server
    请用fontAwesome代替网页icon小图标
    javascript实现代码高亮-wangHighLighter.js
  • 原文地址:https://www.cnblogs.com/jiangu66/p/2998039.html
Copyright © 2011-2022 走看看