AudioPlaybackQueueItem.java revision 67ae6bc83cf2b30b0c61b9ebba5fed7a0038549c
1/*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License. You may obtain a copy of
6 * 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, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
14 * the License.
15 */
16package android.speech.tts;
17
18import android.speech.tts.TextToSpeechService.UtteranceProgressDispatcher;
19import android.util.Log;
20
21class AudioPlaybackQueueItem extends PlaybackQueueItem {
22    private final BlockingMediaPlayer mPlayer;
23
24    AudioPlaybackQueueItem(UtteranceProgressDispatcher dispatcher,
25            Object callerIdentity, BlockingMediaPlayer player) {
26        super(dispatcher, callerIdentity);
27        mPlayer = player;
28    }
29    @Override
30    public void run() {
31        getDispatcher().dispatchOnStart();
32        // TODO: This can be avoided. Will be fixed later in this CL.
33        mPlayer.startAndWait();
34        getDispatcher().dispatchOnDone();
35    }
36
37    @Override
38    void stop(boolean isError) {
39        mPlayer.stop();
40    }
41}
42