1/*
2 * Copyright (C) 2009 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
17package com.example.android.apis.media;
18
19import android.app.Activity;
20import android.media.MediaPlayer;
21import android.os.Bundle;
22import android.util.Log;
23import android.widget.TextView;
24import android.widget.Toast;
25
26import com.example.android.apis.R;
27
28public class MediaPlayerDemo_Audio extends Activity {
29
30    private static final String TAG = "MediaPlayerDemo";
31    private MediaPlayer mMediaPlayer;
32    private static final String MEDIA = "media";
33    private static final int LOCAL_AUDIO = 1;
34    private static final int STREAM_AUDIO = 2;
35    private static final int RESOURCES_AUDIO = 3;
36    private static final int LOCAL_VIDEO = 4;
37    private static final int STREAM_VIDEO = 5;
38    private String path;
39
40    private TextView tx;
41
42    @Override
43    public void onCreate(Bundle icicle) {
44        super.onCreate(icicle);
45        tx = new TextView(this);
46        setContentView(tx);
47        Bundle extras = getIntent().getExtras();
48        playAudio(extras.getInt(MEDIA));
49    }
50
51    private void playAudio(Integer media) {
52        try {
53            switch (media) {
54                case LOCAL_AUDIO:
55                    /**
56                     * TODO: Set the path variable to a local audio file path.
57                     */
58                    path = "";
59                    if (path == "") {
60                        // Tell the user to provide an audio file URL.
61                        Toast
62                                .makeText(
63                                        MediaPlayerDemo_Audio.this,
64                                        "Please edit MediaPlayer_Audio Activity, "
65                                                + "and set the path variable to your audio file path."
66                                                + " Your audio file must be stored on sdcard.",
67                                        Toast.LENGTH_LONG).show();
68
69                    }
70                    mMediaPlayer = new MediaPlayer();
71                    mMediaPlayer.setDataSource(path);
72                    mMediaPlayer.prepare();
73                    mMediaPlayer.start();
74                    break;
75                case RESOURCES_AUDIO:
76                    /**
77                     * TODO: Upload a audio file to res/raw folder and provide
78                     * its resid in MediaPlayer.create() method.
79                     */
80                    mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
81                    mMediaPlayer.start();
82
83            }
84            tx.setText("Playing audio...");
85
86        } catch (Exception e) {
87            Log.e(TAG, "error: " + e.getMessage(), e);
88        }
89
90    }
91
92    @Override
93    protected void onDestroy() {
94        super.onDestroy();
95        // TODO Auto-generated method stub
96        if (mMediaPlayer != null) {
97            mMediaPlayer.release();
98            mMediaPlayer = null;
99        }
100
101    }
102}
103