1*d57664e9SAndroid Build Coastguard Worker /* 2*d57664e9SAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project 3*d57664e9SAndroid Build Coastguard Worker * 4*d57664e9SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*d57664e9SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*d57664e9SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*d57664e9SAndroid Build Coastguard Worker * 8*d57664e9SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*d57664e9SAndroid Build Coastguard Worker * 10*d57664e9SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*d57664e9SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*d57664e9SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*d57664e9SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*d57664e9SAndroid Build Coastguard Worker * limitations under the License. 15*d57664e9SAndroid Build Coastguard Worker * 16*d57664e9SAndroid Build Coastguard Worker */ 17*d57664e9SAndroid Build Coastguard Worker 18*d57664e9SAndroid Build Coastguard Worker #ifndef AUDIOPLAY_H_ 19*d57664e9SAndroid Build Coastguard Worker #define AUDIOPLAY_H_ 20*d57664e9SAndroid Build Coastguard Worker 21*d57664e9SAndroid Build Coastguard Worker #include <string.h> 22*d57664e9SAndroid Build Coastguard Worker 23*d57664e9SAndroid Build Coastguard Worker #include "BootAnimation.h" 24*d57664e9SAndroid Build Coastguard Worker 25*d57664e9SAndroid Build Coastguard Worker namespace audioplay { 26*d57664e9SAndroid Build Coastguard Worker 27*d57664e9SAndroid Build Coastguard Worker // Initializes the engine with an example of the type of WAV clip to play. 28*d57664e9SAndroid Build Coastguard Worker // All buffers passed to playClip are assumed to be in the same format. 29*d57664e9SAndroid Build Coastguard Worker bool create(const uint8_t* exampleClipBuf, int exampleClipBufSize); 30*d57664e9SAndroid Build Coastguard Worker 31*d57664e9SAndroid Build Coastguard Worker // Plays a WAV contained in buf. 32*d57664e9SAndroid Build Coastguard Worker // Should not be called while a clip is still playing. 33*d57664e9SAndroid Build Coastguard Worker bool playClip(const uint8_t* buf, int size); 34*d57664e9SAndroid Build Coastguard Worker void setPlaying(bool isPlaying); 35*d57664e9SAndroid Build Coastguard Worker void destroy(); 36*d57664e9SAndroid Build Coastguard Worker 37*d57664e9SAndroid Build Coastguard Worker // Generates callbacks to integrate the audioplay system with the BootAnimation. 38*d57664e9SAndroid Build Coastguard Worker android::sp<android::BootAnimation::Callbacks> createAnimationCallbacks(); 39*d57664e9SAndroid Build Coastguard Worker 40*d57664e9SAndroid Build Coastguard Worker } 41*d57664e9SAndroid Build Coastguard Worker 42*d57664e9SAndroid Build Coastguard Worker #endif // AUDIOPLAY_H_ 43