SystemUI RingtonePlayer

来源:互联网 发布:白左圣母毁灭欧洲 知乎 编辑:程序博客网 时间:2024/05/21 04:23
//RingtonePlayer.java:继承SystemUI类,启动时调用start()方法
private IRingtonePlayer mCallback = new IRingtonePlayer.Stub() {
//播放音乐
public void play(IBinder token, Uri uri, AudioAttributes aa, float volume, boolean looping)
throws RemoteException {
....
}


//停止音乐
public void stop(IBinder token) {
...
}


@Override
public boolean isPlaying(IBinder token) {
...
}


@Override
public void setPlaybackProperties(IBinder token, float volume, boolean looping) {
...
}


@Override
public void playAsync(Uri uri, UserHandle user, boolean looping, AudioAttributes aa) {
...
}


@Override
public void stopAsync() {
...
}


@Override
public String getTitle(Uri uri) {
...
}
};
public void start() {
mAsyncPlayer.setUsesWakeLock(mContext);
//获取AudioService
mAudioService = IAudioService.Stub.asInterface(
ServiceManager.getService(Context.AUDIO_SERVICE));
try {
//设置Callback,callback的实例为IRingtonePlayer
mAudioService.setRingtonePlayer(mCallback);
} catch (RemoteException e) {
Log.e(TAG, "Problem registering RingtonePlayer: " + e);
}
}
原创粉丝点击