admin管理员组

文章数量:1558102

Android底层开发之APP音量单独控制

目前Android的音乐播放软件都的音量控制都是随着系统的总Master音量变化的。想要实现和windows中一样,每个APP的媒体音量可以单独控制。

控制本APP音量

其实在MediaPlayer中就有一个API是设备当前音频流的音量的,叫setVolume()。通过编程测试,这个是独立于Master音量的。

这个问题搞定后,如果想要控制其它APP的音量,那么只要能拿到其MediaPlayer对象就好了。

控制其它APP音量

构思的是在MediaPlayer的构造函数中,将所有MediaPlayer对象保存到一个List中。

private static List list = new ArrayList();

...

public MediaPlayer() {

...

/* Native setup requires a weak reference to our object. * It's easier to create it here than in C++. */

native_setup(new WeakReference(this));

list.add(this);

Log.i("DEBUG_MEDIAPLAYER", "MediaPlayer() list.size=" + list.size() + list);

}

public static List getList() {

return list;

}

发现在同一个应用中,如果new MediaPlayer还能够进行记录&#

本文标签: 音量底层声音appandroid