是做一个voip项目。通话过程中要求其他的音乐程序都停下来
开始用AudioFocus把系统播放器和酷狗停下来了,但是天天和FMRadio收音机停不下来
后来通过setStreanMute把Stream_MUSIC类型的声音设置为静音,天天动听停下来了,但是收音机停不下来
不知道大家有没有更好的办法!!

解决方案 »

  1.   

    AudioFocus的症结:不是所有程序都支持,有不支持的存在,就打破了完整性。这么多天了,没别的思路和进展?
      

  2.   

    看起来是因为不同的AP使用了不同的Audio Stream,仅仅获取到Stream_MUSIC的Focus并不够,你可以仔细参看那关于Audio Stream的部分内容:下面是我截取的内容,我觉得因为你不能确保那些其他的AP按规则来获取Stream(通常来说音乐类的AP都应该获取的是STREAM_MUSIC),那么想其他所有的AP都静音,也许只能靠遍历禁止下面所有Stream的办法。【奇怪,为什么天天动听与酷狗不是用的都是STREAM_MUSIC?】
    int    STREAM_ALARM The audio stream for alarms
    int STREAM_DTMF The audio stream for DTMF Tones
    int STREAM_MUSIC The audio stream for music playback
    int STREAM_NOTIFICATION The audio stream for notifications
    int STREAM_RING The audio stream for the phone ring
    int STREAM_SYSTEM The audio stream for system sounds
    int STREAM_VOICE_CALL The audio stream for phone calls
      

  3.   

    我获得了focus可用播放,但是天天动听失去focus它自己不暂停播放,我也木有办法。我看了系统源码AudioManager,出了你说的几个Stream——TYPE,系统还有几个hide的类型,但是好像也没用
      

  4.   

    这么久了楼主还在吗?问下:
    我们怎么半闭一个APP,如果我想关闭FM等等。。