1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.media;
18 
19 import android.media.AudioAttributes;
20 import android.media.VolumeShaper;
21 import android.net.Uri;
22 import android.os.ParcelFileDescriptor;
23 import android.os.UserHandle;
24 
25 /**
26  * @hide
27  */
28 interface IRingtonePlayer {
29     /** Used for Ringtone.java playback */
30     @UnsupportedAppUsage
play(IBinder token, in Uri uri, in AudioAttributes aa, float volume, boolean looping)31     oneway void play(IBinder token, in Uri uri, in AudioAttributes aa, float volume, boolean looping);
playWithVolumeShaping(IBinder token, in Uri uri, in AudioAttributes aa, float volume, boolean looping, in @nullable VolumeShaper.Configuration volumeShaperConfig)32     oneway void playWithVolumeShaping(IBinder token, in Uri uri, in AudioAttributes aa,
33         float volume, boolean looping, in @nullable VolumeShaper.Configuration volumeShaperConfig);
stop(IBinder token)34     oneway void stop(IBinder token);
isPlaying(IBinder token)35     boolean isPlaying(IBinder token);
setPlaybackProperties(IBinder token, float volume, boolean looping)36     oneway void setPlaybackProperties(IBinder token, float volume, boolean looping);
37 
38     /** Used for Notification sound playback. */
playAsync(in Uri uri, in UserHandle user, boolean looping, in AudioAttributes aa)39     oneway void playAsync(in Uri uri, in UserHandle user, boolean looping, in AudioAttributes aa);
stopAsync()40     oneway void stopAsync();
41 
42     /** Return the title of the media. */
getTitle(in Uri uri)43     String getTitle(in Uri uri);
44 
openRingtone(in Uri uri)45     ParcelFileDescriptor openRingtone(in Uri uri);
46 }
47